【测试版】SFM多渲染:多核渲染

0 点赞
Source Filmmaker
转载

通过一些巧妙技巧和我创建的新程序,渲染速度可能提升4-5倍 SFM多渲染 这是一种简单但巧妙的方法,能将SFM的渲染时间加快4-5倍。该程序会将你的项目分割到多个SFM会话/进程中,让我们从一个单核受限的程序中获得“多核”渲染体验。 如果你计划运行4-6个以上的副本,你的电脑性能需要足够好,但我认为低端电脑也可能从2-3个副本中受益。 【只有当你有足够的显存、内存和CPU能力来渲染多个项目副本时,此方法才有效。】 如果你有10GB显存,而渲染一个会话仅使用2GB,那么这会有效。 如果你有10GB显存,而渲染一个会话使用超过5GB,那么这将无效。看在上帝的份上,请先阅读并查看所有说明,然后如果遇到问题再提问。 说明 你可能需要以管理员身份运行此程序(更多信息在说明部分) 你需要.NET framework 4.8运行库,如果你还没有的话。 1. 在此处修补你的启动器以启用多开。 2. 通过【SFM启动选项】按钮设置启动选项,只需复制你已在Steam中设置的启动选项。 3. 通过蓝色的+按钮创建你想要的会话数量。 4. 填写会话1的项目文件。dmx以及输出目录+图像名称(带不带引号均可) 点击【全部使用会话1路径】按钮,将其复制到所有其他会话。 6. 在复制区域,填写开始和结束范围。如果要渲染0-3000帧,在开始处输入0,结束处输入3000。点击【分配所有帧】,在各会话间均匀分配帧。 7. 可选择点击【自动隐藏SFM会话】,开始渲染后会最小化所有渲染窗口(伪最小化,实际是移至屏幕外)。 8. 启动会话。无需检查SFM,可在主窗口观察所有进度。

注意事项 这处于测试阶段,我尚未在大量项目上进行广泛测试。再次提醒,如果你的项目规模庞大,并且将阴影贴图分辨率等设置调至8192等极高数值,由于你的显存可能已被占满,本程序可能无法提供太多帮助。 会话之间的那一帧通常会产生一个重影帧。这是《Source Filmmaker》(SFM)本身的问题。只需重新进入SFM,重新渲染该帧,并在输出文件夹中替换它即可。 你可以选择手动将每个会话分配给不同的核心,或者通过设置中的【按顺序分配核心】选项让Windows操作系统调度程序自动处理。哪种方式更快?我目前还不确定(如果有人做了比较,请告诉我)。 如果你使用DXVK。如果用于SFM的dll出现问题,尝试禁用它,这可能会节省你的显存。我可以使用DXVK渲染4K项目(6个会话会占用我90%的显存)。如果你在SFM中使用自定义布局而非“默认/布局1”,自动隐藏选项可以工作,但重新启动时不会恢复SFM窗口位置。如果你的SFM窗口不可见,点击任务栏上的SFM图标,按ALT+空格,然后选择最大化。自动隐藏选项会修改注册表项【计算机\HKEY_CURRENT_USER\SOFTWARE\Valve\SourceFilmmaker\Layouts_9\1\WindowPercentageGeometry】。SFM每次关闭时都会设置此键。因此在我们的情况中,通过隐藏到屏幕外实现“最小化”会保存该位置,这不是我们想要的(我们模拟最小化是因为实际最小化会干扰渲染)。密钥已备份,并会在每次关闭程序或渲染批次结束时自动恢复。若出现异常情况导致程序无法正常运行,或正常启动《Source Filmmaker》后窗口不可见,请通过齿轮图标进入多渲染设置,然后点击【重置Source Filmmaker窗口位置注册表至默认值】按钮。 为避免生成/关闭进程时出现问题,以及确保能够正常读取Source Filmmaker的内存(我们通过读取内存来获取渲染完成百分比),需要以管理员身份运行程序。你也可以尝试正常运行,但无法保证一定能正常工作。 已知问题: 拆分渲染会导致每个帧范围的开头出现“幽灵帧”(此问题源于Source Filmmaker,而非本程序)。例如,将渲染拆分为5个会话,就会出现5个幽灵帧。你可以通过进入【Source Filmmaker】(SFM)并重新渲染那几帧来解决这个问题。