http://www.anandtech.com/show/6862/fcat-the-evolution-of-frame-interval-benchmarking-part-1
http://www.inpai.com.cn/doc/hard/196421.htm
Direct3D和OpenGL使用复杂的渲染管线,跨越几个不同的机制和阶段。当一帧是由应用程序生成的,它必须穿越管道到Direct3D,视频驱动程序,一个帧队列(上下文队列中),一个GPU(图形处理器)调度器,视频驱动程序,最后 在GPU,一帧可以被显示。该管道的比喻用在这里,因为这是它到底是什么,坐在中间的这条管道的上下文队列增加了复杂性。
FRAPS它的一部分存在于几乎一开始这条管线。它的接口与个人应用和拦截目前呼叫到Direct3D的每帧的结束标志。通过计数当前呼叫FRAPS可以很容易地知道有多少的帧已经进入管道,一个简单而有效的工具,用于测量平均帧率。
的问题,与FRAPS因为它是,虽然它也可以被用于测量帧与帧之间的时间间隔,也只能这样做在开始渲染管线,通过计算现状呼叫之间的时间。 ,而总比没有好,这是相去甚远从管道实际缓冲交换发生,并最终从最终用户的体验也同样删除。此外,因为FRAPS是迄今为止增长渲染管线,隔热什么的去上其他地方,尤其是上下文队列可以持有高达3帧,这意味着到上下文队列中的流速可以有时是非常不同于率流的上下文队列之外。
As a result FRAPS is best descried as a coarse tool. It can see particularly egregious stuttering situations – like what AMD has been experiencing as of late – but it cannot see everything. It cannot see stuttering issues the context queue hides, and it’s particularly blind to what’s going on in multi-GPU scenarios.