精确控制游戏的fps
来源:互联网 发布:恐龙战队电影玩具淘宝 编辑:程序博客网 时间:2024/04/28 01:08
LARGE_INTEGER frequency, count, oldCount, oldOldCount;DWORD_PTR _procMask;DWORD_PTR _sysMask;DWORD_PTR _mask;GetProcessAffinityMask(GetCurrentProcess(), &_procMask, &_sysMask);if( _procMask == 0x00000000)_procMask = 0x00000001;_mask = 0x00000001;while((_mask & _procMask) == 0){_mask <<= 1;}HANDLE _thread = GetCurrentThread();DWORD_PTR _oldMask = SetThreadAffinityMask(_thread, _mask);QueryPerformanceFrequency(&frequency);QueryPerformanceCounter(&count);SetThreadAffinityMask(_thread, _oldMask);oldOldCount = oldCount = count;float _secondPerTick = (1.0f / (float)(frequency.QuadPart)) * 1000.0f;frequency.QuadPart /= 60;while(msg.message != WM_QUIT){if( PeekMessage(&msg, 0, 0, 0, PM_REMOVE) ){TranslateMessage(&msg);DispatchMessage(&msg);}else{float tick = (oldCount.QuadPart - oldOldCount.QuadPart) * _secondPerTick;float _updateAndRenderStart = g_GetApplication().GetRoot()->getWatch()->getElapsedMilliseconds();pFnUpdateAndRender(tick);float _updateAndRenderEnd = g_GetApplication().GetRoot()->getWatch()->getElapsedMilliseconds();/*if(_updateAndRenderEnd - _updateAndRenderStart >= 30.0f){char _updateAndRenderLog[CHAR_BUFFER_MAX] = {'\0'};_snprintf(_updateAndRenderLog, CHAR_BUFFER_CONTENT_MAX, "_updateAndRenderEnd - _updateAndRenderStart = %f.", _updateAndRenderEnd - _updateAndRenderStart);g_GetApplication().GetRoot()->getLogManager()->logMessage(_updateAndRenderLog);}*/if(_updateAndRenderEnd - _updateAndRenderStart > 17.0f){HANDLE _thread = GetCurrentThread();DWORD_PTR _oldMask = SetThreadAffinityMask(_thread, _mask);QueryPerformanceCounter((PLARGE_INTEGER)&count);SetThreadAffinityMask(_thread, _oldMask);}else{do{HANDLE _thread = GetCurrentThread();DWORD_PTR _oldMask = SetThreadAffinityMask(_thread, _mask);QueryPerformanceCounter((PLARGE_INTEGER)&count);SetThreadAffinityMask(_thread, _oldMask);} while (count.QuadPart - oldCount.QuadPart < frequency.QuadPart);}oldOldCount = oldCount;oldCount = count;}}
- 精确控制游戏的fps
- 如何精确的控制FPS
- 如何精确的控制FPS
- 关于精确控制FPS的程序框架
- 精确控制FPS的程序框架
- 如何精确控制FPS
- 一个可以精确控制FPS的程序框架
- 一个可以精确控制FPS的程序框架
- 精确FPS
- 精确FPS
- JAVA游戏开发之FPS精准控制
- FPS游戏
- FPS游戏服务器设计的问题 转
- FPS游戏服务器设计的问题
- FPS游戏服务器设计的问题
- 简单的(第一人称射击)FPS游戏
- 关于循环的精确控制
- 精确控制div的高度
- Bash中的变量
- 软件开发人员路在何方?
- Oracle数据类型
- gstreamer 学习笔记(转)
- 修改hosts文件无效?附解决办法
- 精确控制游戏的fps
- linux内核启动地址的确定
- zoj 1450 Minimal Circle(最小覆盖圆)
- Oracle创建表
- 有感于锋芝的八卦
- CTabCtrl
- lds文件规则
- 深入理解sizeof
- Ubuntu下构建gstreamer开发环境 (转)