我计算的 FPS 正确吗?
所以我想知道我是否正确计算了 FPS:
Uint32 delayFrom(float startTime, float endTime){
return(endTime - startTime );
}
int main(){
int numFrames = 0;
Uint32 startTime = SDL_GetTicks();
while(!done){
frameTime = 0;
float fps = ( numFrames/(float)(SDL_GetTicks() - startTime) )*1000;
cout << fps << endl;
SDL_Delay(delayFrom(frameTime, 1/60));
++numFrames;
}
}
So I was wondering if I'm calculating my FPS correctly:
Uint32 delayFrom(float startTime, float endTime){
return(endTime - startTime );
}
int main(){
int numFrames = 0;
Uint32 startTime = SDL_GetTicks();
while(!done){
frameTime = 0;
float fps = ( numFrames/(float)(SDL_GetTicks() - startTime) )*1000;
cout << fps << endl;
SDL_Delay(delayFrom(frameTime, 1/60));
++numFrames;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
带FPS计数器的并发受限队列的实现:
The implementation of concurent limited queue with FPS counter:
frameTime 永远不会被分配除 0 以外的任何值。大概这是一个错误。
frameTime never gets assigned anything other than 0. Presumably that's an error.
cout
可能会很慢,因此要获得更精确的值,您需要拆分时间测量并输出结果。cout
could be slow so to get more precise value you need to split the time measurement and the output the result.