【问题标题】:My refresh rate seems to be to slow on Windows Phone我在 Windows Phone 上的刷新率似乎变慢了
【发布时间】:2016-06-03 04:03:03
【问题描述】:

我正在编写一个 Windows Phone 游戏。游戏只是一个简单的逻辑谜题,不需要很多 CPU。

我使用了一个计时器,每 16 毫秒更新一次,所以它会给我 60 FPS。更新太慢了!

    private void timer_Tick(object sender, object e)
    {
        mainCanvas.Children.Clear();
        redraw();
    }

我感觉我的逻辑存在缺陷,因为没有必要从屏幕上删除所有对象。但是,我不确定如何仅删除一个对象作为其多个形状的倍数。

我做错了吗?

【问题讨论】:

  • 使用 WPF 创建游戏并不是最令人惊奇的想法。期望手机保证跟上 60Hz 刷新率也是不合理的。最重要的是,删除并重新创建计时器上的所有视觉效果绝对是错误的方法。您应该寻找更合适的框架,例如 Cocos2Dx cocos2d-x.org/wiki/Windows_Phone_8_Installation_and_Setup 如果您对使用 WPF 已经下定决心,请遵循一些 Microsoft 指南以从 blogs.windows.com/buildingapps/2015/03/13/… 开始
  • 谢谢。如何安装 Coco2d 以便在我的视觉工作室中使用它
  • 您是否阅读过我指向您的 Cocos2D URL?这基本上完全只是对完全按照您的要求进行的描述。
  • 小问题:Windows Phone 使用 Silverlight 风格,而不是 WPF。

标签: c# windows xaml windows-phone-8.1


【解决方案1】:

以 16 毫秒的速率重绘所有对象的完整屏幕重绘,您已经超越了系统能力!

将此经过的时间更改为 200 毫秒(每秒 5 次),您会看到很好的改进。

还请记住,不同的 Windows Phone 设备可能会影响您的解决方案 - 最差的 CPU/RAM 设备会比更快的设备慢。

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2020-05-09
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    相关资源
    最近更新 更多