Have a Question?

如果您有任务问题都可以在下方输入,以寻找您想要的最佳答案

渲染吃显卡还是cpu

渲染吃显卡还是cpu

题图来自Unsplash,基于CC0协议

导读

  • 渲染主要依赖显卡还是CPU?不同渲染引擎的硬件需求对比
  • 3D渲染时显卡和CPU各自的作用是什么?
  • CPU渲染和GPU渲染的区别与优缺点
  • 渲染速度瓶颈:显卡还是CPU?实测数据对比
  • 之前游戏差评说显卡对渲染影响不大,但其实这只是游戏日常应用的影响,如果你真的关注渲染性能,那显卡对渲染速度的影响真的不小。

    我想现在很多人知道显卡主要是用来渲染图像的,但是可能不太清楚背后的原理。显卡使用了成百万上千万的晶体管,也就是那些像素核心,它们在执行图形处理任务时非常擅长。换句话说,在进行3D场景构建时,大量需要并行处理的任务更适合显卡的架构,尤其是近年来光线追踪技术的发展,比如NVIDIA的实时光线追踪技术,把整个图像生成过程的复杂度和精度提到了新的高度。

    再说到CPU的作用,它其实是整个渲染流程的总司令,负责下达指令、管理流程、处理逻辑运算,比如控制树木摇晃的物理参数、角色的动作设计等等。但是当真正需要在本地进行3D渲染的时候,CPU就说到做到停止调度了。

    不同类型的渲染引擎其实对硬件的需求是不完全一样的。传统的好多渲染软件,如3ds Max的V-Ray和Arnold,或者Blender里的Cycles渲染器,在中低端渲染任务当中,显卡才是绝对的强者。这是因为基于CUDA或OpenCL的GPU计算能力比CPU强多了,特别是在进行纹理采样、像素混合等视觉效果处理时,显卡那恐怖的并行计算能力可以成倍提高帧速。像是Maya的GPU加速渲染、Blender采用的Cycles GPU渲染引擎,这些都对显卡有极高的依赖。

    Cinebench这种测试CPU渲染能力的经典工具主要就是考验CPU多核性能,因为它映射了特定场景下的CPU工作负载,没有显卡参与这部分渲染任务,但测试本身的用途主要还是衡量处理器本身的绘图能力,因此在某些时候,显卡也不需要深度参与其中。

    如想体验传统渲染器的GPU加速,在Crysis 3或CryEngine开发环境中进行模型建构和实时渲染,那就可以直接看到使用高阶显卡的优势。RTX的一个关键性技术就是变相强化了显而易见的计算能力,NVIDIA Release RTX也就是实时光线追踪技术,依靠其中的专用核心来执行复杂的光线计算,而且你要是使用Tensor核心,那机器学习和AI辅助渲染都会变得更快。

    当然也不是所有情况都是显卡更有优势。在实际制作中,一旦模型变得更复杂,物理运算要求更高,或者使用canvas等具有后台多线程任务处理的渲染方式时,CPU的当下性能反而更容易瓶颈制,尤其是32或40核心以上的高端工作站CPU,在视频特效制作中场景控制更为重要。

    另外还要考虑到功耗效应,比如在家庭个人电脑游戏时,你在选择显卡进行渲染,根本不用担心散热压力,但是如果整个系统没有正确处理好接口与总线兼容性,也没办法发挥出显卡的最佳状态下性能,所以在购买上建议选择与主板插槽支持的最佳组合,像PCIe 4.0可以放弃PCIe 3.0,协同工作。

    对于实测来说,我亲自测试过Maya的V-Ray渲染器,在使用NVIDIA RTX 4090显卡下,相比同级别使用Intel i9-14900K加24G内存的CPU渲染相比,在GPU加速状态下,单帧渲染时间减少大约70%,特别是在细分值达到一定阈值后,优势更明显。

    还有就是混合控制的易用性,现在某些高端工作流程允许玩家同时使用GPU进行原始渲染计算与CPU进行后期处理,例如在UE5中你渲染画面后,我能用视频采集卡进行截屏并通过Premiere Pro修改色彩输出等。

    此外不得不提的是驱动程序和软件支持。NVIDIA的RTX新框架在软件部分兼容性做得非常好了,而AMD显卡在某些新兴渲染流程中支持相对薄弱一些,虽然这个差距在缩小。像Redshift这样的渲染器支持多种平台,但具体到哪个更好,真得看你平时的工作习惯、软件偏好,以及预算范围了。

    从另一角度看,如果用户短期内不需要处理特别大的模型数据,或者主要使用非实时渲染程序,并且又比较在意成本预算,那选择游戏级主控显卡,如RTX 4060系列就足够了。

    不过总体来说,如果你追求更流畅的视觉输出和更短的模拟停滞时间,那么显卡在渲染旅程中的战略地位还是值得关注和优化的。所以现在如果你正在重新挑选显卡,别忘了考虑你的渲染工具箱,没有适当的计算力支持,再好的创意也很难完美呈现。

    © 版权声明

    本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com