如何限制 FPS 在 WP8 directX app 中
游戏在某些场景中运行似乎太快,我想限制FPS为30。我使用纯cpp D3D中。我觉得WP8 不提供SetWaitableTimer(我在桌面使用限制FPS)我已经找到了sleep方法
SleepConditionVariableCS在WP8这里是sleep的代码
struct WaitTimeData
{
CONDITION_VARIABLE conditionVariable;
CRITICAL_SECTION criticalSection;
WaitTimeData()
{
InitializeConditionVariable(&conditionVariable);
memset(&criticalSection , 0 , sizeof(CRITICAL_SECTION));
//InitializeCriticalSection(&_CriticalSection); WP8没有这个函数
criticalSection.DebugInfo = (PRTL_CRITICAL_SECTION_DEBUG)-1;
criticalSection.LockCount = -1;
}
};
int WPSleep(unsigned int ms)
{
static WaitTimeData s_wtd;
SleepConditionVariableCS(
&s_wtd.conditionVariable,
&s_wtd.criticalSection,
ms
);
if (GetLastError() == ERROR_TIMEOUT)
{
SetLastError(0);
}
return 0;
}
想问下各位牛人们,在WP8 中,如何实现限制帧数为30的功能,或者如何写一个和 SetWaitableTimer类似的方法,能提供大概思路或源码就更好了,在此感谢。 WP8 DirectX FPS --------------------编程问答-------------------- 创建DX设备时有垂直同步参数
--------------------编程问答-------------------- present的参数 --------------------编程问答--------------------
版主啊,能否详细说下步奏,感激不尽啊。
补充:移动开发 , Windows Phone