我使用 Blender 等应用程序,根据“任务管理器”和“资源监视器”,渲染视频时,Windows 占用的 CPU 不到 40%(最多,使用下面的选项)且内存不到 30%。渲染时,我不想将其余资源用于任何其他用途。有没有办法可以让 Windows 充分利用它的功能?
我努力了改变优先级,不会明显改善。
我试过改变亲和力对于一个 (核心) CPU,它确实有所改进 (渲染速度加倍)。有人知道其他“黑客”吗?
答案1
不会。Windows 不会限制你的应用程序
如果您的渲染应用是单线程的,那么它只能使用一个 CPU 的 100%。因此,例如,在双 CPU 机器上,它会显示为 50%。Windows 无法让它使用两个 CPU,因为这取决于应用开发人员将任务分解为多个线程。
但有时它必须等待读取输入视频并写入输出视频......这说明它只使用了 40%。
RAM 的情况也类似。假设您的计算机不缺 RAM,Windows 将允许进程使用其最近引用的 RAM 量。
为了加快视频渲染中计算密集部分的速度,您可以购买更快的 CPU,或者购买显卡,以便您的应用通过在 GPU 中完成部分工作来实现加速。或者购买不同的渲染应用,即多线程实现更好的应用。
为了加快 I/O 速度,请将输入、输出和临时文件放在三个不同的驱动器上(不仅仅是驱动器号。不同的物理驱动器)。由于输入文件通常最大,并且如果您组合多个输入,通常会以随机方式访问,因此请将它们放在最快的驱动器上,如果可能的话,最好是 SSD。输出驱动器的速度并不重要:渲染视频的速度对于任何硬盘来说都是缓慢的。
答案2
正如 Jamie 所说,单线程应用程序只能使用单个 CPU 核心的 100%,相当于不超过四核 CPU 的 25% 或双核 CPU 的 50%。
您特别提到 Blender 是您使用的程序之一。Blender 在渲染 3D 场景时具有高度多线程性。在“性能”下的“渲染”面板中,您可以增加使用的线程数。默认情况下,它使用的线程数与计算机的核心数相同,这通常是最好的。我只会在渲染时需要将计算机用于其他用途时才更改此设置,这实际上会导致您询问的情况。
如果您将一系列图像渲染为视频,或使用 Blender 合成视频,则可能会遇到 I/O 瓶颈,因为驱动器必须在需要时访问每个文件。