实验室的系统需要绘制3D模型后用多块显卡来进行尽可能多的窗口输出。市面上有以Matrox为代表的多屏显卡,此类显卡输出功能极其强大,电视墙什么的毫无压力,但是——绘制能力捉急,不指望用它进行模型绘制渲染。绘制渲染方面还是普通的游戏卡比较猛,谁让人家就是玩这个的。
一开始我们是用的Geforce,用PCIE*4的主板,插上4块GTX660Ti,把所有的输出口,包括DVI、HDMI、DP,都用上,好不拉风。于是问题来了:画面确实开全了,却只有10fps不到,绘制能力咋跟不上呢?一查GPU-Z,其它三块显卡都在睡大觉,根本没工作,就第一块显卡在满负荷运转。再牛的卡也吃不消这么大面积的渲染啊……敢情其他几块显卡只负责抬抬手输出画面而已。
我们都知道Geforce显卡是支持一个叫SLI的技术的。但是此技术的坑爹之处在于开启之后所有的输出就到了第一块显卡上,其他的显卡固然是在工作,但是输出口就没有用了。咱要的不就是这些输出口么?不行。至于那个什么surround也用不成,固定分辨率的三个输出口可以用而已,比我们的需求差远了。
后来把渲染模型换成了把纹理贴在平面上显示图片。这回显卡负担应该不大了,即使是一块显卡工作,也应该游刃有余了。结果惊讶地发现,性能完全没有提高,仍然是10fps。这不得不让人怀疑不是绘制速度的问题了。
想了想,会不会是程序只开了一个大窗口包揽所有输出的原因。因为没法做到在每个显示输出做一个全屏窗口,因此画了一个大的无边框窗口覆盖所有显示区域。如果单独拆开来呢?于是把输出手动排了一下,多开几个窗口,每个窗口覆盖其对应的输出。结果……还是一样。一咬牙,只画了第一块显卡连接的窗口,意外发现,绘制图片速