Re: [問題] 測量執行時間
看板C_and_CPP (C/C++)作者devilarise (Devil)時間16年前 (2009/11/29 09:40)推噓9(9推 0噓 18→)留言27則, 5人參與討論串2/3 (看更多)
給你兩個關鍵字
用法請自行問google大神吧@@
第一個是
timeGetTime();
大約能取到0.001秒附近
沒有太過精密的需求的話
這個應該很夠用了
第二個是
QueryPerformanceCounter();
這個聽老師講解是說,
這函式能從CPU取什麼共振時間出來
從共振時間差來計算精密的時間差距
聽兩位指導我的老師都說
遊戲業界好像都用這個在做FPS計算
但是我自己實際做了以後
不知道哪邊寫得不好
寫出來的函式只能適用于intel的CPU
無法適用于AMD的CPU
以下把兩個版本的FPS計算函式貼上
順便請路過此地的高手指教指教小弟@@
如果有更好的方法, 小弟也非常樂意聆聽教導@@
void c_DLIB::ShowFPSin(int X, int Y)
{
//取得時間
//DeBugMSG("timeGetTime", (float)timeGetTime(), 20, X, Y);
if(!isOnOff)
{
//主要目的:取得secondTime
firstTime = timeGetTime();
secondTime = firstTime + 1000;
isOnOff = true;
}
else if(isOnOff)
{
firstTime = timeGetTime();
if(secondTime <= firstTime)
{
//主要目的: 告知系統, 已經過了1秒, 重新統計FPS
isOnOff = false;
MAX_FPS = FPS;
FPS = 0;
}
}
FPS++;
std::string MSG = "FPS:";
MSG.append(int2str(MAX_FPS));
DeBugMSG(MSG, 20, X, Y);
}
void c_DLIB::ShowFPSin(int X, int Y)
{
//取得時間
QueryPerformanceCounter(&time);
if(!isOnOff)
{
//主要目的:取得secondTime
firstTime = time.HighPart;
secondTime = firstTime + 1;
isOnOff = true;
}
else if(isOnOff)
{
firstTime = time.HighPart;
if(secondTime <= firstTime)
{
//主要目的: 告知系統, 已經過了1秒, 重新統計FPS
isOnOff = false;
MAX_FPS = FPS;
FPS = 0;
}
}
FPS++;
std::string MSG = "FPS:";
MSG.append(int2str(MAX_FPS));
DeBugMSG(MSG, 20, 1, X, Y);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.133.240
推
11/29 10:14, , 1F
11/29 10:14, 1F
→
11/29 10:15, , 2F
11/29 10:15, 2F
→
11/29 10:46, , 3F
11/29 10:46, 3F
→
11/29 11:21, , 4F
11/29 11:21, 4F
→
11/29 11:22, , 5F
11/29 11:22, 5F
→
11/29 11:22, , 6F
11/29 11:22, 6F
→
11/29 11:23, , 7F
11/29 11:23, 7F
→
11/29 11:24, , 8F
11/29 11:24, 8F
→
11/29 12:02, , 9F
11/29 12:02, 9F
→
11/29 12:04, , 10F
11/29 12:04, 10F
推
11/29 12:08, , 11F
11/29 12:08, 11F
→
11/29 12:08, , 12F
11/29 12:08, 12F
推
11/29 12:08, , 13F
11/29 12:08, 13F
→
11/29 12:09, , 14F
11/29 12:09, 14F
→
11/29 12:09, , 15F
11/29 12:09, 15F
→
11/29 12:10, , 16F
11/29 12:10, 16F
→
11/29 12:11, , 17F
11/29 12:11, 17F
推
11/29 12:13, , 18F
11/29 12:13, 18F
→
11/29 12:14, , 19F
11/29 12:14, 19F
推
11/29 12:38, , 20F
11/29 12:38, 20F
推
11/29 12:40, , 21F
11/29 12:40, 21F
推
11/29 12:41, , 22F
11/29 12:41, 22F
推
11/29 12:44, , 23F
11/29 12:44, 23F
→
11/29 12:44, , 24F
11/29 12:44, 24F
→
11/29 12:45, , 25F
11/29 12:45, 25F
→
11/29 12:46, , 26F
11/29 12:46, 26F
推
11/29 18:46, , 27F
11/29 18:46, 27F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章