在本页阅读全文(共9页)
● 第二层茧:任务的分派和发放
我们在以前的文章中曾经多次面对过画面渲染的问题。简单地说,画面就是一个像素线程的集合,一切效果的实现全部依赖于这些线程或者说任务的正确完成。而SFR对画面进行切割的本质,就是对线程或者说任务强度的拆解和分派。
SFR模式将画面分割成多个部分,也就将构成画面的像素任务分割成了多个部分,这种拆分任务的做法有效地减轻了单个GPU的任务负载,对于每一个GPU来说,过去需要独立面对一整张画面中所有像素任务的劳动强度显然要比这繁重得多。因此,如何更加合理有效的将任务均匀的拆分给多个GPU,就成了SFR模式优化的关键。经过多年的发展,无论AMD还是NVIDIA,其SFR模式的画面拆分过程都已经日趋完善。通过对画面像素的统计和合理预判,SFR模式现在已经充分的发挥了平均分配并降低单卡渲染压力的作用。
但是,随着特效的不断进步,像素的效果越来越复杂,画面中经常会出现需要多次处理,或者存在分支关系的像素群,这类像素的出现极大的干扰了SFR对画面中像素负载的判断过程。如果单纯的依靠传统的以像素数量来分割画面并分派任务的方式,将极有可能会导致GPU负载失衡的问题。而对画面中每一个像素都进行任务复杂度的判断并加以合理分割显然会浪费不小的周期,这个开销对于幁数和流畅度来说是一个无法回避的沉重负担。所以很明显,单纯靠对SFR的优化过程是无法得到哪怕只是贴近理论值的结果的。
既然单纯优化不行,那我们就只有继续往下深入,看看画面在经过SFR拆分之后都发生了什么吧。
本文导航