Questions tagged «deferred-rendering»

2
使用现代填充率和延迟渲染,咬合剔除是否仍然有意义?
例如,虽然它是当前最先进的GPU,但GTX 980的惊人填充率为72.1千兆像素/秒,它具有从后到前的渲染和/或Z缓冲区检查,看起来几乎是荒谬的,甚至可能4k分辨率。就多边形数量而言,如果正确地批处理和/或实例化它们,现代GPU可以无数个地处理成千上万个纹理三角形。 使用正向渲染时,着色器将要运行的片段数量可能很快变得不堪重负,但是如果使用延迟渲染,则根据分辨率的不同,代价通常或多或少是恒定的,并且我们早就通过了大多数着色或后期处理效果可以1080p实时完成。 无论哪种方式,当今的限制因素最常见的是绘制调用次数,并且着色成本(通过适当的延迟渲染和几何体批处理将着色成本都保持在较低水平),因此请记住,这不仅是去除背面和超出范围,截锥体的多边形有什么实质性的好处?成本(CPU / GPU时间,程序员时间)是否会在很多时候超过收益?

1
前向渲染和延迟渲染之间的性能折衷是什么?
正向渲染是直接根据输入的几何形状和照明信息计算表面碎片的辐射值的过程。延迟渲染将该过程分为两个步骤:首先生成一个包含空间属性的屏幕空间缓冲区(包含通过光栅​​化输入几何图形而构建的材质属性)(几何缓冲区或G缓冲区),其次通过组合G-缓冲带照明信息。 延迟渲染通常是对正向渲染的优化。一种解释是,照明是相当昂贵的,并且如果您有任何透支,那么您将照明屏幕上永远不会看到的像素,而如果将材质属性存储到G缓冲区中,然后再照明,则您将仅照明将要显示的像素。实际上出现在屏幕上。假设您还可以进行深度预传递,然后再将深度测试设置为D3D11_COMPARISON_EQUAL或GL_EQUAL等效,则进行正向渲染传递,这实际上是递延的优势吗? 延迟渲染还可以在GPU上更好地进行调度。将一个较大的翘曲/波阵面拆分为一个较小的几何波阵面,然后再将较小的照明波阵面拆分,可以提高占用率(同时飞行中有更多的波阵面)。但是,最终还会占用更多带宽(将大量通道写到G缓冲区,然后在照明期间将它们读回)。显然,这里的细节在很大程度上取决于您的GPU,但是一般原则是什么? 在正向渲染和延迟渲染之间做出决定时,还有其他实际性能方面的考虑吗?(假设如有必要,我们可以使用每种技术的变体:即,我们也可以比较前向平铺和延迟的平铺。)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.