实时渲染根据性能调整像素输出——负载时降低,恢复时提升。VFX实时预览必需。
在处理实时渲染引擎时——无论是VFX预览、动态图形设计还是实时合成——我们经常会遇到一个问题:期望的图像质量与可用的计算能力发生冲突。动态分辨率通过自适应像素缩放来解决这一冲突。引擎实时测量帧率,当帧率低于设定的目标(例如30 fps)时,它会降低内部渲染分辨率——通常降至目标分辨率的75%或50%。然后,将低分辨率图像放大以达到目标分辨率。当性能恢复时,内部分辨率会逐步提高。
在VFX实践中,我们主要在两种场景下使用它:在Unreal或Unity等实时引擎中预览复杂的模拟(流体模拟、粒子、复杂的着色器),或者在合成实时素材时,当我们需要实时堆叠多层效果时。优点是:即使在短期内无法达到全质量,我们也能保持流畅的交互性。缺点是可见的——尤其是在文本、边缘和精细细节上。因此,这项技术比对精度要求高的“Hero Shots”更适用于动态的、非关键的元素。
技术上,动态分辨率使用放大滤镜——即时或空间方法,试图更智能地插值放大后的像素,而不是简单地放大。一些引擎使用基于机器学习的放大器(类似于NVIDIA的DLSS),它们经过训练,可以从低分辨率中推断信息。这通常比简单的放大能产生更好的视觉效果,但也会增加CPU负载。
在片场,我们很少将其用于最终输出——重点在于工作流程的速度。在复杂的实时VFX演示或负载下的摄像机跟踪预览中,动态分辨率有助于在调整灯光或效果参数时保持预览的流畅性。重要提示:始终要意识到,最终渲染必须以全分辨率且无动态运行——这项技术是一个生产力工具,而非质量解决方案。