看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 各位鄉民不好意思我又來了,上次PO時間的問題 我想有可能是因為每台電腦所算出的幀數不同而讓計數器有點差異。 (因為連計數器兩台同時進行都會有這種問題@@,只好把問題歸咎到這) 希望得到的正確結果:算出每台電腦幀數後,該如何和程式更新時間做搭配, 讓每台電腦都是用FPS 60/s 或其他數字來做運算,應該就可以讓程式更新速度一樣。 開發平台: Win32 API 有問題的code: 這邊程式碼只是算出FPS // Calculate the number of frames per one second: dwFrames++; dwCurrentTime = GetTickCount(); // Even better to use timeGetTime() dwElapsedTime = dwCurrentTime - dwLastUpdateTime; if(dwElapsedTime >= 1000) { xx=dwFrames * 100.0 / dwElapsedTime; //這邊是算出FPS dwFrames = 0; dwLastUpdateTime = dwCurrentTime; } 不過要怎麼控制每台電腦的FPS目前還在想,想要請鄉民大大幫忙,先謝謝了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 192.192.154.46
ericinttu:frame rate一致, 不代表內容就一樣. 10/29 00:33
ericinttu:你是要用在監視系統上嗎? 10/29 00:33
turtle314:是用在遊戲開發上,作的是一款音樂遊戲 10/29 01:05
turtle314:我們發現每台電腦跑的速度不一,會讓計時器也不一樣快 10/29 01:06
turtle314:所以音符和音樂的配對就一直沒有辦法配起來@@ 10/29 01:06
wendly777:開一個thread跑一個loop,裡面一直去問timeGetTime 10/29 01:22
wendly777:當時間問到大於等於你的時間(例:1/24s),就去更新畫面 10/29 01:24