WP 7/8 + xna游戏默认设置为30 FPS,我想知道如果我将其设置为60 FPS,任何disadvntages / Performence问题/错误/任何其他。因为我总是想以60 fps的速度玩游戏。
答案 0 :(得分:3)
我只想为Strife添加一些优点answer。
物理模拟通常在较高的FPS下更稳定。即使您的游戏以30 FPS运行,您也可以通过每帧1/60秒更新两次,以60 FPS运行物理模拟。这为您提供了更好的模拟,但CPU成本很高。 (尽管对于物理学来说,固定的帧速率比高帧速率更重要。)
如果您每秒轮询输入30次而不是60次,您将错过输入状态的极快变化,从而失去一些输入保真度。
同样,您的帧速率会影响输入输出延迟。在较低的帧速率下,输入更改需要更长的时间才能在屏幕上反映出来,从而使您的游戏响应速度降低。这也可能是音频反馈的问题 - 特别是在音乐应用中。
如果你有一个非常抽象的游戏( Super Hexagon 是一个很棒的例子),那么最后两点才真正重要。虽然我必须承认我不知道WP7 / 8上的触摸输入实际上有多快刷新 - 但很难找到它。
答案 1 :(得分:2)
Windows Phone 7 SDK将XNA设置为30 FPS,因为Windows Phone 7设备上的屏幕刷新率为30hz。这意味着屏幕每秒刷新30次。如果您每秒绘制30次并且每秒刷新30次,则以该设备的最佳平滑度进行刷新。
大多数人瞄准60(或我的游戏PC,120)的原因是因为大多数显示器具有60hz的刷新率(一些现在是120hz)。 如果您的FPS高于您的刷新率,您将不会注意到任何其他除了可能的效果称为“屏幕撕裂”,这是当您在一秒钟内渲染更多帧时发生的情况屏幕刷新。
换句话说,想象你画了两次屏幕,然后你的屏幕刷新了一次,你为什么第二次打扰?当渲染速度快于设备的刷新率时,会浪费电池寿命,CPU使用率和gpu使用率。所以我的建议给你,如果用XNA的症结是,你坚持使用30 FPS,因为旧设备将不具有多个帧渲染并得到任何好处,如果任何事情,你会得到的图形异常,如屏幕撕裂。
如果您计划定位较高端(及更高版本)的Windows Phone 8台设备,下降XNA,去Direct3D的路线,并使用微软的“DirectX的工具包”,因为它包括XNA的“图形功能”像spritebatch但在C ++而不是C#
我希望这会有所帮助。