随着我们对机器的要求越来越高,负担越来越严重,我们要着手处理的任务也越来越困难。而计算机最大的困难就是渲染。从复杂的图像到简短影片,自渲染理念面世以来,渲染质量问题就不断持续升温。
机器如何处理任务?
总的来说,计算机有两种处理指令的方法。通过中央处理器 (CPU) 或图形处理器 (GPU) 处理障碍。二者各有优缺点,会在很大程度上影响你的工作流程决策。
本文探讨其中的一些优缺点,以及在决定采用 CPU 或 GPU 处理渲染时需要记住的要点。文中不会深入研究各种类型的处理器和品牌,不过在比较 CPU 和 GPU 渲染时,会稍微涉及一些处理类型。
切记本文重点关注渲染。更多有关 CPU 与 GPU 之间差异的详细说明,你可以在另一篇文章中找到。此外,欲了解 Unreal Engine 渲染,请点击此处。
CPU:工作原理
总的来说,CPU 操作分为三步:
这个过程也称为指令循环。我们提供信息后,CPU 会完成上述步骤,然后再进入下一个任务。CPU 采用快速核心结构,可以尽快走完指令循环。
这种循环的好处在于每个任务都能获得机器的全部处理能力,保证了高质量渲染所需的资源。这是 CPU 通常能够生成更高质量图像的原因。虽然 GPU 可能更快,但是生成的图像模糊和失真的概率更大。
CPU 的规格从单核到十核不等。每个核心实质上都是一套用于执行指令循环的独立系统。十核处理器配有十个核心用于执行循环,有助于进一步推进多任务并行处理。
GPU:工作原理
从架构上看 GPU 没有太大差异,不过它主要侧重的是图形和效率。
与使用少量高性能核心的 CPU 不同,GPU 拥有大量速度较慢的核心,侧重两项任务:
顶点处理
像素处理
其优点是 GPU 同时关注两个进程,一个接一个,处理非常快。
GPU 系统的速度和能力范围很广,不过可以按照它们连接机器的方式进行细分。集成 GPU 是笔记本电脑、预装台式电脑、手机等设备中内置的典型处理器。最强大的 GPU 则连接主板的 PCI-e 插槽。对于具有多个 PCI-e 插槽的主板,多个兼容 GPU 可以组合使用,以提高能力。
这些进程对渲染来说有何意义?
在任何工作中,我们都要明确什么最重要:完成时间还是渲染质量?如果你正在阅读这篇文章,并且有充分的理由,那么这可能是你需要关注的最大问题。
正如前文所述,与 GPU 渲染相比,CPU 渲染更有可能生成质量更高、清晰度更好的镜头。CPU 侧重的进程有助于实现更可靠的渲染。
当然,速度也有所不同。CPU 往往自身速度就要慢得多,而 GPU 渲染所花的时间更短,只是最终渲染的清晰度会受一定影响。这并不是说 GPU 渲染不能搭建极高质量的场景。随着我们在图像真实感或建筑可视化领域的发展,CPU 渲染过程将更加可靠。
虽然图形处理器拥有多个核心,具有比普通 CPU 更强的“能力”,但后者通过多个 CPU 组合加快处理速度,可以弥补这一劣势。这就是所谓的 CPU 农场。CPU 农场可以有效地加快速度,同时保持最终渲染场景可靠。
既然相比 CPU,GPU 速度是如此之快,那么对于专注于速度和实时开发的玩家、开发人员和电影制作人来说,GPU 极具价值。这种巨大的需求,加上 GPU 在加密货币挖矿领域的盛行,导致热门显卡的价格逐步上涨。
总体而言,单个强大 GPU 的成本远低于具有同等能力的 CPU 农场的成本,不过这种情况也在不断变化。
中高档 GPU 的平均定价在 300-2000 美元之间。这显然不太正常,虽然根据 TechSpot 的最新市场调查,这才应该是 GPU 的预期成本。
同样,CPU 的定价范围也很广,平均成本更低,在 150-1500 美元之间。根据来源的不同,价格要么异常低,要么异常高。
GPU 渲染还需要额外的使用成本,包括一套高效的冷却系统,我们将在下一节讨论。
基于 CPU 的机器具有更强的处理大型进程的能力,同时在其它任务期间仍能保持良好速度。其中的一个主要原因是:相比 GPU 的一般内存大小,机器中 CPU RAM 的容量超大。
如果一般 GPU 中没有足够强的处理能力,那么系统会更容易过热或崩溃。过热是 GPU 使用者关注的主要问题之一。由于处理速度快,核心数量多,后台可能会出现很多问题。与 CPU 相比,GPU 的额外工作负荷会产生大量的热量。必须牢记,任何使用 GPU 渲染的机器都必须配套高效的冷却系统。
但是,受限于 GPU 的速度,如果你正在开展的项目非常注重注动画或大量移动部件,你可能需要通过内置或外置图形处理器进行渲染。
如果你从事 VR 空间工作,那么你可能需要 GPU 处理加快速度。采用专门的图形渲染处理器,能够随着玩家转身和穿过数字空间,不断切换和更新渲染。
目前大家所关注的都是人工智能和深度学习软件。虽然 CPU 在处理单个任务时表现可能更好,但 GPU 可以快速进行计算,以加快深度学习过程。这也是选择 GPU 作为数据或加密挖矿处理器的另一个原因。这种长时间进行超快计算的能力,无疑有利于这些行业的发展。
在实时环境下移动场景内的动态灯光和物体,或改变人物的位置和动画。例如,Unreal Engine 会在处理场景时,进行大量计算,保证高质量的实时渲染。
缩短项目作业时间的最关键要素就是:在切换场景时观察最高质量图像的能力。GPU 渲染很可能是实现此能力的最佳解决方案。
不过,这种能力显然很大程度上取决于你所使用的软件。一些程序处理 CPU 或 GPU 渲染时效率都非常高。
例如,Autodesk 的 Arnold Engine 在利用基于 CPU 的渲染引擎进行快速真实感光线追踪时,表现非常出色。Arnold 主要用于动画和影片制作,即使一般与 CPU 渲染相关的处理时间更长。
此外,Octane Render Engine,一款非常受欢迎的产品,侧重于 GPU 渲染,用于动态实时纹理和光照处理。
重要的是,深入研究你所选择的渲染引擎,找到程序本身最有效的使用方法。其中一种有效的经验法则就是:想一想渲染或模拟需要达到的精度。大多数 CPU 都可以实现更精确的物理模拟,而 GPU 渲染引擎最适合实时体验。
最后,到底要选择 GPU 还是 CPU 处理,取决于你的具体需求。如果你需要最优质的渲染,而不考虑快速周转时间,那么一台功能强大的 CPU 或 CPU 农场可能是你的最好选择。当然,你可以在这里找到绝妙的 CPU 处理解决方案,Incredibuild 提供无缝的分布式处理技术,以优化性能。点击此处获取免费许可。
如果你在视觉效果或动画部门工作,需要快速获得高质量图像结果,那么 GPU 可能是更好的选择。
无论你的主处理源如何,重要的是确保 GPU 渲染源与 CPU 不仅彼此兼容,而且还与机器的其余部分兼容,以免出现瓶颈。
点击了解 Incredibuild 加速C++编译的解决方案!