发言者:WIN2000
发表时间:1999年8月08日 19时33分35秒
来自:(202.96.185.213)
回应:这只是问题的一个方面。(发言者:tears ,于 1999年8月08日 12时47分22秒)
在圆方6中,当场景计算完后,在屏幕上预演动画显示很快,但一旦保存动画速度就显著降低。作为开发人员,我很清楚屏幕显示和保存动画用的是同一个子程序,不同的只是屏幕显示用的是屏幕DC,保存动画时申请了一个内存DC。我试验了各种办法,包括早期所用的直接把屏幕截下来,但一旦要从屏幕上读数据,也就是对显存进行读,速度就立即变慢。这方面的原因在咨询了INTEL实验室才得以了解,因为3D显示卡的加速芯片只考虑到高速的显存,而在对内存中的图象进行象素填充等操作时,由于完全没有CACHE,所以性能直线下降。
开始也怀疑是其他原因,但用8000多的FIREGL1时速度还是一样,而FIREGL1是带有几何加速器和3D加速器的号称非常专业的卡。另外,国外很多OPENGL的技术论坛都反映在PC架构上读显存操作很慢,如glReadPixel函数在SGI上达到每秒600M字节的速度,但在PC上就只有10M左右。通常OPENGL渲染时对色彩页面既要读又要写,速度降低就很正常了。
回复以上发言