作者turtle314 (會彈吉他屌屁)
看板C_and_CPP
標題[問題] 多台電腦 想讓程式統一幀數
時間Fri Oct 29 00:18:30 2010
遇到的問題: (題意請描述清楚) 各位鄉民不好意思我又來了,上次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