遊戲中限制幀速的新方法 (轉)
遊戲中限制幀速的新方法 (轉)[@more@]
以前很多資料介紹的方法都是使用GetTickCount/或者是多定時器,來輪訓時間,精度確實不錯。
但是這樣會造成時間的極大浪費,一個主要表現就是在nt/2000環境中後臺反應極慢。
如果可以使用像 wait之類的方法來實現,那麼在等待時間訊息時,執行緒掛起,cup資源浪費較少。這樣就不會出現後臺程式掛起的問題了。
幸運的是,win32在98以後的版本都提供了waitable timer來等待time event。
具體使用方法請參考msdn。
這裡要說的是,waitable timer預設的精度是1/50秒,達不到60fps的要求。
查閱msdn也沒有發現有可以設定時間精度的。
後來在一個偶然的機會我發現timerBeginPeriod()函式設定多媒體時間精度會影響到Waitable timer。
猜想Waitable timer內部是使用了多媒體時鐘來實現的。
透過設定timerBeginPeriod(8)就可以得到每秒60的時間訊息了。
更大的值會使得cpu佔用大大提高,所以建議只要設定到需要的精度即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990877/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Win10系統玩DX12遊戲顯示幀速的方法Win10遊戲
- 網頁中隱藏幀的妙用 (轉)網頁
- DB2中的限制之二數值的限制 (轉)DB2
- 幀同步遊戲的設計遊戲
- 在ASP程式中列印Excel報表的新方法 (轉)Excel
- DB2中的限制之三字串的限制 (轉)DB2字串
- SDL程式設計入門(25)限制幀率程式設計
- win10怎麼設定網速限制|win10設定網速限制設定的方法Win10
- 手遊幀同步的研究[轉]
- DB2中的限制之四日期時間的限制 (轉)DB2
- DB2中的限制之五資料庫管理器的限制 (轉)DB2資料庫
- DB2中的限制之六資料庫管理頁大小的限制 (轉)DB2資料庫
- win10網速限制解除的詳細教程Win10
- 幀中繼(FR)中繼
- DB2中的限制之一SQL識別符號的長度限制 (轉)DB2SQL符號
- Unix中限制root遠端登入的方法(轉)
- win10家庭版解除網速限制的方法Win10
- 網速限制,帶限速功能的無線路由器路由器
- 聚會遊戲走不出速紅速涼的怪圈?遊戲
- Win10系統玩lol遊戲幀數只有60幀的解決方法Win10遊戲
- windows10遊戲幀數怎麼提高_windows10如何提高遊戲fps幀數Windows遊戲
- linux中限制客戶不能上指定的網站(轉)Linux網站
- win10系統遊戲鎖幀怎麼回事 win10遊戲出現鎖幀的解決步驟Win10遊戲
- 王者榮耀技術分析(二):遊戲的幀同步遊戲
- 看板中的WIP限制思想
- oracle中sequence使用的限制Oracle
- mysql中的表大小限制MySql
- Facebook 小遊戲上傳的遊戲包有大小限制遊戲
- 鐳速Outlook產品:解除附件限制,提升專案效率
- win10玩遊戲卡幀怎麼解決_win10玩遊戲掉幀嚴重處理方法Win10遊戲
- win10遊戲幀率上不去怎麼辦 win10玩遊戲幀率上不去解決方法Win10遊戲
- win10風扇轉速怎麼調節 windows10中控制風扇轉速設定方法Win10Windows
- Nodejs 中的 API 速率限制NodeJSAPI
- 在 RedHat 中限制、允許telnet&ftp功能(轉)RedhatFTP
- 解決卡頓發熱,超幀技術煥發中過載遊戲動力遊戲
- ORACLE物理檔案大小的限制(轉)Oracle
- 影片編碼中幀內預測的發展
- 分析關於木馬隱藏一個的新方法(轉)