那个Tile base Frame Buffer on chip总计算下来比Early-z还有Zbuffer cache、 Colorbuffer Cache要节省很多Gate Count。 而且HW Design/Verification的成本都要节省很多,SW那边成本会增加,不过还好~~作者: predaking 时间: 2009-3-10 10:25
这是老外给出来的解释,欢迎继续探讨
The problem with this deferred rendering approach is the fact that the entire scene must be cached before rendering. This "scene buffer" effectively takes the place of the z-buffer. The objection I have to this approach is that the size of the scene buffer is unknown before rendering, and so there are always going to be possible buffer overflow issues which could drastically impact performance. By contrast, the z-buffer's size is well-known prior to rendering. Immediate-mode renderers (pretty much any GPU available today) also have a number of techniques that improve efficiency, so I don't see a reason to go "all the way" to deferred rendering to solve problems that, in my mind, don't really need solving given today's rendering performance作者: predaking 时间: 2009-3-10 10:34
上面说Scenebuffer是有可能Overflow,我认为这个是个别的极端情况。比如现在的IMR Applicaiton都是针对IMR声明的Texture Resource,而如果Driver要做Tile base Rendering,那有可能在一个Tile内的Triangle需要访问超过Video memory的Texture,从而Overflow。这个对性能影响是很大,这个问题估计会同样困扰着LRB。不过好在LRB有大于4G的 Video Memory。作者: predaking 时间: 2009-3-10 10:48
通过切割Tile,我想还是可以解决的~~ 。不过这种Overflow情况应该不常见吧,一个Tile本身就很小了,而且只启动Visible Fragment的PS,应改用不到太多的Texture Resource~~