相同的图形处理代码在AMD以及Intel上执行的巨大差异!
数字蛋糕 2006-11-12 03:42:22 本来已经发了一次,可是在论坛中看不到,而在“我的帖子”中却可以……已经第二次出现这种情况了,实在奇怪。只好重发一次。
//-----------------------------------------------
问题处在我正在制作的PPClock 8中。对于一个水波效果,在我的台式机和笔记本上运行效率天差地别。不知道哪位底层高人能够解答我的疑惑?
在我的的台式机(AMD Athlon 2400+)上,迭代时间设定为每10ms迭代一次,同时水波往外扩散一个单位。考虑到Windows的定时器的不稳定性,这个数值实际上可能在10到 20之间。如果用鼠标在界面上划拉划拉的,CPU占用率可以达到50%。但是松开鼠标后,波浪还在荡漾,但是CPU的占用率骤然下降到了2%。可是如果不是使用日照图作为测试,而是使用墙纸模式的话,松开鼠标后CPU的占用率却没有变化,依然是50%。
同样的测试在我的笔记本(Intel Pentium M 1.6GHz)上却大相径庭。首先水波扩散的速度明显比在我的台式机上快(表明迭代频率更高)。然后无论我用什么模式,鼠标再怎么划拉也好,CPU的占用率却一直保持在1%到3%之间。难道Graphic32库竟然有针对Intel的优化?或者Intel的指令内部优化的这么好?要知道如果计时器的频率准确的话,这个动画效果的速度已经达到了恐怖的100FPS!!!也就是说,就算是在我的台式机上,其速度也至少有50FPS!!!
具体的问题请看我的博客:
http://www.qinz.net/hao/index.php?entry=entry061110-133138