因此,茶壶演示可能实际上运行效率更高!如果它使用了30% 的 CPU 时间(相比之下,GTA IV 使用了50% 的 CPU 时间) ,那么它每帧使用的 CPU 时间可能更少,只是等待下一个垂直空白时间间隔的时间更长。要比较两个应用程序,您应该禁用 vsync 并再次测量(您将为两个应用程序测量更高的 fps)。
虽然 GTA 很可能比 DX 演示更有效率,但这种方式测量 CPU 效率基本上是不成立的。效率可以被定义,例如,你在给定的时间里做了多少工作。一个简单的反例: 为每个逻辑 CPU 生成一个线程,并让一个简单的无限循环在其上运行。您将获得100% 的 CPU 使用率,但是它并不高效,因为没有完成任何有用的工作。
typedef int array_type[1];
// create and destroy a int[1]
array_type *a = new array_type;
delete [] a;
// create and destroy an int
int *b = new int;
delete b;
// create and destroy an int[1]
int *c = new int[1];
delete[] c;
// create and destroy an int[1][2]
int (*d)[2] = new int[1][2];
delete [] d;