当焦点被移除时,XNA 运行缓慢

2024-03-15

我只是想知道,在制作游戏时,我注意到当我的游戏具有焦点时(就像它应该的那样),IsRunningSlowly 的 GameTime 值返回 false,但是当我更改应用程序时,它会更改为 true。我什至制作了一个空游戏,即使它失去焦点,IsRunningSlowly 的 GameTime 值也会返回 true。我想知道为什么它会这样做?这只是我的电脑的问题,还是 XNA 的创建者就是这样设计的?帧速率看起来不错,但值是真实的。其实没什么大不了的,我只是很好奇!

[空游戏]

    public class Game1 : Microsoft.Xna.Framework.Game
{
    #region Constuctors

    public Game1()
    {
        this.GraphicsManager = new Microsoft.Xna.Framework.GraphicsDeviceManager(this);
        this.Content.RootDirectory = "Content";
    }

    #endregion
    #region Overrides

    protected override void LoadContent()
    {
        this.SpriteBatch = new Microsoft.Xna.Framework.Graphics.SpriteBatch(this.GraphicsDevice);
        base.LoadContent();
    }
    protected override void Update(Microsoft.Xna.Framework.GameTime GameTime)
    {
        System.Console.WriteLine(GameTime.IsRunningSlowly);
        Microsoft.Xna.Framework.Input.KeyboardState Keyboard = Microsoft.Xna.Framework.Input.Keyboard.GetState();
        if (Keyboard.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape)) this.Exit();
        base.Update(GameTime);
    }
    protected override void Draw(Microsoft.Xna.Framework.GameTime gameTime)
    {
        GraphicsDevice.Clear(Microsoft.Xna.Framework.Color.CornflowerBlue);
        base.Draw(gameTime);
    }

    #endregion
    #region Variables

    private Microsoft.Xna.Framework.GraphicsDeviceManager GraphicsManager { get; set; }
    private Microsoft.Xna.Framework.Graphics.SpriteBatch SpriteBatch { get; set; }

    #endregion
}

我会尝试回答这个问题,而不是发布“事情就是这样”。 XNA 线程在失去焦点时会休眠。它是在XNA的游戏类中配置的。

InactiveSleepTime = new TimeSpan(0);

默认设置为 20ms,设置为 0 将使 XNA 在失去焦点时全速运行。

IsRunningSlowly 设置为 true,因为帧速率降至 60 以下(这是设置 IsFixedTimeStep 时的默认值)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当焦点被移除时,XNA 运行缓慢 的相关文章

  • 原则 2 优先于多对一关联

    是否可以覆盖 ManyToOne targetEntity I read 这个学说文档页面 http docs doctrine project org projects doctrine orm en latest tutorials o

随机推荐

  • @Value -> 无法将类型“java.lang.String”的值转换为所需类型“java.lang.Integer”

    美好的一天 我正在使用 Spring 4 1 1 RELEASE 开发一个 Web 应用程序 所有 Spring 配置都是通过注释完成的 除了一件事之外它工作正常 我的项目中有一个 config properties 文件 其中包含这些行
  • 如何从 node-webkit 应用程序打开浏览器窗口?

    我有一个桌面应用程序 使用 node webkit 打包 我需要通过单击链接打开用户的默认浏览器 我在用 window open www google com 但这会打开一个新的 node webkit 窗口 而不是打开浏览器窗口 我如何打
  • JSF 视图 - 在操作上返回 null 不会更新视图

    我读过与我有同样问题的帖子JSF ViewScope 在不更新视图的操作上返回 null https stackoverflow com questions 13914594 jsf viewscope returning null on
  • UWP:PRI277:0xdef00532 - 资源“”的值冲突

    作为 Visual Studio 2017 UWP 生成过程的一部分 会运行一个名为 MakePri exe 的应用 它在我的项目中引发错误 但我不知道为什么 命令行调用是 C Program Files x86 Windows 套件 10
  • 打印文件中一行的最后一列

    我有一个不断被写入 更新的文件 我想找到包含特定单词的最后一行 然后打印该行的最后一列 该文件看起来像这样 随着时间的推移 将会添加更多 A1 B1 C1 行 A1 123 456 B1 234 567 C1 345 678 A1 098
  • Java 中的内存 OLAP 引擎 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有内存中 OLAP 切片和切块数据 Java 库 相当于 Microsoft 分析服务 特别想听听
  • 修复了页眉与页内锚点重叠的问题

    如果我在 HTML 页面中有一个非滚动标题 固定在顶部 具有定义的高度 有没有办法使用 URL 锚点 fragment部分 让浏览器滚动到页面中的某个点 但仍然尊重固定元素的高度无需 JavaScript 的帮助 http example
  • 无法在 yum 上下载 caddy 包

    我在 Amazon Linux 上使用 AWS EC2 当我尝试下载 caddy yum install caddy 时 出现以下错误 如屏幕截图所示 编辑 2022 年 11 月 19 日 A H 的回答 https stackoverf
  • 找不到所需的文件index.html - Heroku 推送错误

    我正在使用 Heroku CLI 将 React Node 应用程序推送到 Heroku 构建失败 错误为找不到所需的文件index html 我已经检查了所有文件和一切就位 不知道我错过了什么 我被困在这里一星期了 请帮我 我正在使用 H
  • 如何在搜索之前编辑 jQuery 自动完成的输入?

    我有一个自动完成框 出于本示例的目的 因为它是一个简单的示例 返回一个包含社会安全号码的列表 为了便于阅读 它们中有破折号 我想修改自动完成功能 以便如果我输入 123456789 或 123 45 6789 它将在自动完成功能中找到相同的
  • Eiffel 中的不可变类

    我正在尝试做一个不可变的POINT在埃菲尔铁塔上课 下面的代码定义了一个吗 这 NONE 的可访问性x and y田地就够了吗 我可以给类不变量写一些东西吗x x 或者我还能如何实现不变性 class POINT create make f
  • 如何在SQLAlchemy中获取游标

    我是 Python Flask 的新手 在我的项目中 我们使用以下代码创建数据库对象 app Flask name app config SQLALCHEMY DATABASE URI sqlite tmp test db db SQLAl
  • 找不到 jQuery 选择器时会发生什么?

    如果我通过了一项selector as a parameter到一个函数 selector is an object function selector selector trigger eventHere 显然 event如果select
  • 从套接字读取二进制数据

    我正在尝试连接到服务器 然后向其发送 HTTP 请求 在本例中为 GET 这个想法是请求一个文件 然后从服务器接收它 它应该适用于文本文件和二进制文件 例如 imgs 我对文本文件没有问题 它工作得很好 但我对二进制文件有一些麻烦 首先 我
  • 枚举捕获 ALSA 设备并从中捕获

    我正在编写一个 C 程序 我想枚举系统中的所有捕获设备 实际上 我知道我有三个网络摄像头加上 集成 麦克风 识别它们并同时开始捕获它们 我使用 snd device name hint 枚举所有 PCM 设备 然后使用 snd device
  • Elasticsearch 按日期排序不正确

    在Elasticsearch文档中 有一个字段createdAt定义如下 createdAt type date format YYYY MM DD HH mm ss 当尝试按日期对记录进行排序时 我得到以下顺序 2019 10 01 07
  • 从迭代器返回对象的引用

    我想从向量返回对象的引用 并且该对象位于迭代器对象中 我怎样才能做到这一点 我尝试了以下方法 Customer CustomerDB getCustomerById const string id vector
  • 如何在 Node JS 中从目录中读取文件列表(按修改日期排序)

    需要从特定目录中读取文件列表 其中日期按降序或升序修改Node js 我已经尝试过下面的代码但无法得到解决方案 fs readdir path function err files if err throw err else var res
  • 如何通过php从外部网页获取内容?

    我想获取网页中的 标题 描述和关键字 我知道实现这项工作的 3 种方法 a 使用CURL b 使用 fopen c 使用 get meta data 奇怪的是 上述每一项都不能每次都正常工作 对于相同的网址 有时 我可以获得内容 有时 它会
  • 当焦点被移除时,XNA 运行缓慢

    我只是想知道 在制作游戏时 我注意到当我的游戏具有焦点时 就像它应该的那样 IsRunningSlowly 的 GameTime 值返回 false 但是当我更改应用程序时 它会更改为 true 我什至制作了一个空游戏 即使它失去焦点 Is