● PS3?还好吧……
PC平台可以很好的执行寒霜2引擎所制作的游戏,那么家用机平台呢?很明显的,家用机平台的硬件仍旧停留在5、6年以前的水准,其GPU仅能支持DirectX 9.0C,不仅不具备桌面GPU超强的运算能力,也不可能通过Compute Shader来直接使用其固有的那部分GPU中的ALU。寒霜2在家用机平台上执行,其效率和最终效果势必会受到影响。
让我们先来看看影响相对较小的PS3平台吧。
PS3平台在寒霜2引擎中可以执行Deferred Shading
光与物体的关系,其实本质上就是数学的关系。每一种光照最终都可以演变成简单但却又暴力的乘法,连加以及半角H计算。既然是常规数学操作,就需要大量的通用运算资源和缓冲用于操作。PC平台上有GPU海量的ALU以及Compute Shader来满足这种对运算资源的需求,PS3上有什么呢?
还好,PS3有Cell。
Cell处理器PPU+SPU的异构结构提供了强大的处理能力,活用Cell的SPU可以让寒霜2引擎获得一定的执行大数量光照操作的能力。与此同时,Cell中的cache能够提供比Fermi之外的所有桌面GPU都要好得多的Local store memory性能。因此在执行Deferred Shading的过程中,Cell可以提供巨大的帮助,事实上在之前的killzone系列游戏中,PS3正是因为Cell才拥有了大量使用Deferred Shading的前提。
在PS3中,DICE视情况不同启用了5~6个SPU介入到Deferred Shading过程中,这些SPU在过程中受PS3的GPU也就是RSX控制,由RSX来发起渲染过程同时执行包括SSAO在内的其他全部工作,而所有涉及Deferred Shading的后效部分则完全交由SPU来完成。
在执行Deferred Shading操作的过程中,RSX将处于等待状态,直至全部工作完成为止,Deferred Shading过程本身会带来40ms的平均延迟,再加上其他各种DMA延迟,整体上来讲仍处在可以接受的范围内。
在Cell和RSX的共同协作之下,再将屏幕以Tile Based过程划分成若干64X64 pixel的区域之后,PS3平台拥有了可以同时执行1000光源的Deferred Shading能力。虽然较之PC存在不小的差距,但比接下来的这位要强上许多了。
接下来将要登场的XBOX360由于硬件构架问题,完全不具备执行Deferred Shading的能力。
三秦IT网的官方微信:更多资讯请关注:三秦IT网官方微博