我们有两个屏幕上的安装应用程序,以前跑在一个一致的60》(在监视'sync率)使用一个更8400GS(256MB).然而,当我们交换了卡的一个有512MB RAM框率的斗争,以获得上述40FPS。(它只有得到这样高,因为我们正在使用的三重缓冲。) 这两张都从相同的制造商(当中央).所有其他的事情都是平等的,这是一个Windows XP嵌入式应用程序和我们开始从一个新的图像用于各卡。司机版本,数量是169.21.

该应用程序是所有2D。E.I.只是一堆的纹四条和一大堆的前呈现的图形(因此需要升级卡的存储器)。我们还具有压缩动画,CPU码的飞行-这涉及到一个纹锁。锁采取的永远,但我也想有一个独立的系统存储的纹理的CPU更新和随后的更新呈现的纹理使用设备的UpdateTexture方法。没有总体差别的效能。

虽然我已经读通过的每一个常见问题,我可以在互联网上找到有关安装的性能,这仍然是我第一次在安装项目所以任何神秘的位的知识,你将是有益的。:)

其他一件事,虽然我在主题;当呼吁本上交换链它似乎您等待本完成,无论事实上我使用的D3DPRESENT_DONOTWAIT在这两个本参数(PresentationInterval)和标志的呼吁本身。因为这是一个屏幕上的应用程序,这是一个问题作为两个监视器似乎不同步,我的工作围绕着它运行的本呼吁通过一个线程池.什么可能的根本原因的这是什么?

有帮助吗?

解决方案

是的卡片完全一样的(两处8400GS),只有内存的大小而不同?常常有不同的存储容量来稍微不同的时钟率(即你的卡有更多的存储器可能使用速度较慢的存储器!).

所以检查的第一件事会GPU核心和存储钟率,使用什么样的 GPU-Z.

其他提示

这是一个简单的测试,看看如果表面上锁的问题,只是评论的纹更新,看看如果framerate返回60hz。不幸的是,在编写一个上锁的表面和更新的资源杀性能,总是有。您使用的是mipmaps的纹理?我知道DX9加入自动生成的mipmaps,可能是采取了很多时间产生的那些。如果你不断在锁定的同一资源的每一个框架,你也可以尝试创造一个游泳池的纹理,有点像三缓冲,除非有纹理。你会让呈现采用一个纹,并在下一次更新你选择下一个可用的纹理在游泳池那是不被用来渲染。当然,除非你的记忆受到约束或者你只差异的动画质。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top