我读过这个概念这里。
但我没有理解这个部分:“延迟渲染器的关键优势在于它非常高效地访问内存。将渲染划分为tiles可以使GPU更有效地缓存帧缓冲区中的像素值,从而使深度测试和混合更加高效。”
基于瓷砖的渲染是否并行进行?一次用不同的核心渲染多块瓷砖?
另外,基于普通瓷砖的渲染的优点是什么?
编辑:这份文件已经报废了,因为苹果反对‘OpenGL’。相反,它使用了金属。
发布于 2014-03-20 00:54:59
苹果在该页面上讨论的移动GPU将包含少量内存,这是物理上的GPU芯片,因此是非常快的访问。通过将渲染目标分割成足够小的块来容纳这个内存,并一次处理这些块,我们减少了与较慢内存的交互量--而不是当我们将三角形中的每个像素的深度缓冲区和颜色缓冲器值进行网格化时,我们将每个三角形中的每个像素的深度缓冲区和颜色缓冲区值尽量减少,然后将每个瓷砖的最后栅格写入快内存,并将每个瓷砖的最后光栅写入主内存。
此外,使用基于瓷砖的延迟渲染器,我们不会对任何三角形进行栅格化,直到我们计算出每块像素/四象素可见的三角形,所以我们只会对那些对最终场景有贡献的像素进行阴影处理。
基于砖块的渲染还有其他潜在的好处,包括剔除、可见性测试和内存访问的局部性,即使在不延迟栅格化和/或我们不受主内存性能限制的平台上也是如此。这篇文章与您要求的内容有点相切,但可能有助于您更好地了解这些一般好处,同时更深入地描述现代栅格是如何工作的。
发布于 2014-03-20 00:56:16
三维渲染的一个主要优化是隐藏的表面裁剪。如果这是在阴影之前完成的,那么处理后的片段数就会减少,整体性能也会得到改善。
基于瓷砖的渲染分割场景(在硬件方面),计算在呈现时会出现在屏幕上的瓦片,并且只在这些块上做进一步的计算。
隐藏表面技术
https://stackoverflow.com/questions/22521202
复制相似问题