一、控制窗口刷新率
D3DPRESENT_PARAMETERS结构参数中的PresentationInterval
当设置为DDPEESENT_INTERVAL_IMMEDIATE表示立即显示更新
当设置为DDPEESENT_INTERVAL_DEFAULT表示由Directx3D选择 更新频率。通常该值等于刷新频率
二、控制主循环的事件频率
每次循环即记时,即通过延时限帧
MSG msg = {0};
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg,0,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
const float constFps = 60.0f; //定义帧数
DWORD timeInPerFrame = 1000.0f / constFps; //计算每帧的频率
DWORD timeBegin = GetTickCount(); //循环开始的时间
DirectX_Update(hwnd); //directX循环
DirectX_Render(hwnd); //directX渲染
DWORD timePhase = GetTickCount() - timeBegin; //循环耗费的时间
if(timePhase