● 什么决定了多卡互联的效率
想要理解交火的效率,我们先要了解交火的一些基本特点,这有助于我们面对交火测试产生的那些莫名其妙的数据。
多卡互联负载渲染过程
CrossFireX的基本处理原理,在于将游戏画面的渲染任务以单帧为单位进行分解,并将分解的任务交给交火互联组合中不同的显卡分别进行处理。对于单帧画面任务的分解方式有两种,分别是将同一帧画面等分成工作量相当或者相近的若干部分并交给不同显卡来进行的SFR(Split Frame Rendering,分割帧渲染)模式,以及将某帧画面直接指派给某块显卡并以此形成若干块显卡交替渲染若干帧画面的AFR(Alternate Frame Rendering,交错帧渲染)模式。
长期以来,影响CrossFireX等多卡互联方案的的最大问题就是负载平衡问题,多卡互联对性能的提升比例,很大程度上由负载的平衡能力所决定。在两种多卡互联工作模式中,SFR模式的效率更高,可以提升单卡的线程密度进而提升单元复用率,同时负载平衡性也更好,但却需要驱动对所有目标程序都有完整的了解,并且能够控制显卡来完成正确接近负载平衡的画面分割和合并。AFR模式几乎对驱动没有要求,但却因为渲染复杂单帧会成为整个多卡互联系统的瓶颈,影响整个画面的输出同步从而导致比较明显的帧数大幅变化以及最低帧问题。
目前CrossFireX的渲染方式是非常“聪明”的,AMD采用了SFR与AFR结合的方式,针对较为成熟构架处理优化得当/引擎成熟/开发期合作密切的游戏,CrossFireX会采用效率更高的SFR模式进行渲染,对于较为常规的还未完全掌握优化规则的游戏则选择AFR模式进行渲染。这种机动的做法可以在最小驱动开发代价的前提下,为整个CrossFireX体系换来最佳化的负载平衡性和性能延展性。
推荐经销商