首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

怎么获取另外某个游戏运行时的帧速(每秒多少帧)

2012-03-01 
如何获取另外某个游戏运行时的帧速(每秒多少帧)高手提供点思路。此方向完全不懂,没做过游戏,也没玩过图形。

如何获取另外某个游戏运行时的帧速(每秒多少帧)
高手提供点思路。
此方向完全不懂,没做过游戏,也没玩过图形。只是临时下来一个项目,做Performance测试这个东西。

[解决办法]
我只是给个思想~
windows是个消息驱动的系统,所以帧速的锁定与探测我想跟定跟消息有关的。
记得编程大师里有代码教你如何固定游戏帧数显示,这种代码就写在消息处理中。
所以我的思路就是,所以一帧不过就是一次消息循环~ 所以HOOK小wndproc 看看循环2此的tick是多少,就算出来了帧数,但是2次的时间非常短而且取样太密集,可以调大到一个适当的值,然后计算,转换为帧速率~
[解决办法]
用勾子程序勾
HRESULT SetRenderTarget(
DWORD RenderTargetIndex,
IDirect3DSurface9 * pRenderTarget
);
获得其各数,再判断其中pRenderTarget参数,计数其不同的个数,一般只有一个。
大型游戏在一次渲染时会用多次。但每次pRenderTarget都不同。
SetRenderTarget的总数除以pRenderTarget的个数就是帧速率

热点排行