Source Filmmaker

Source Filmmaker

62 hodnocení
[Beta] SFM MultiRender: Multicore Rendering
Vytvořil: an0nymooose
Potentially 4-5x your render speed by using some neat tricks and a new program I created
2
2
   
Ocenit
Přidat do oblíbených
Oblíbeno
Odebrat z oblíbených
SFM Multi-Render
A simple but hacky way to speed up SFM's render time by 4-5x
This program splits your project up into multiple SFM sessions/processes, giving us a "multi-core" rendering experience from a single-core limited program.
Your PC should be decent enough if you plan on running 4-6+ copies, but I imagine lower end PCs may benefit from 2-3.

**This will only work if you have enough VRAM, RAM, and CPU power to render multiple copies of your project.**
If you have 10gb VRAM, and rendering one session only uses 2gb, this will work.
If you have 10gb VRAM, and rendering one session uses > 5gb, this will not work.

For the love of God, please read and view all the instructions first, then post questions if you are having issues.
Instructions
You likely need to run this program as administrator (more info in the notes section)

MultiRender Instructions/Github[github.com]
MultiRender Download HERE[github.com]

You will need .NET framework 4.8 Runtime[dotnet.microsoft.com] if you don't already have it.

  • 1. Patch your launcher to enable multirun here.

  • 2. Set the launch options via the "SFM Launch Options" button[github.com], just copy your launch options set already in Steam.

  • 3. Create the amount of sessions you desire via the blue + button.

  • 4. Fill out Session 1's project file .dmx and output directory+image name (quotes or no quotes, doesnt matter)
    Click "All use Session 1 Path" button to duplicate it to all other sessions.

  • 6. In the duplication area, fill out the Start and End range. If I want to render frame 0-3000, type in 0 for start, then 3000 for end. Click Distribute All Frames to evenly spread the frames between the sessions.

  • 7. Optionally click the "Auto-hide SFM sessions", this will minimize every render window once it starts (Fake minimize, it moves it off screen).

  • 8. Launch your sessions. You can observe the progress all from the main window without needing to check SFM.

Notes
  • This is in beta, I have not extensively tested this on a large amounts of projects. Again, if your project is massive and you blasted your settings with stuff like shadowmapres 8192, this program cant do much for you since your VRAM might be maxed.

  • The frame between sessions will produce a ghost frame most of the time. This is just SFM being SFM. Go back into SFM and just re-render that frame, and replace it in your output folder.

  • You can choose to manually assign each session to a different core, or let the Winows OS Scheduler automatically handle it, via the "Sequentially distribute cores" option in the settings. Which is faster? I don't know yet (let me know if anyone does a comparsion please)

  • If you use the DXVK .dll for SFM and have issues, try disabling it, it may save you some VRAM.
    I'm able to render 4k projects with DXVK however (6 sessions 90% max my VRAM)

  • If you use custom layouts and not "default/layout 1" in SFM, the autohide option will work, but it wont restore your SFM window position on re-launch. If your SFM is invisible, click it on the taskbar and press ALT+Space, then maximize.

    The auto-hide option modifies a registry key Computer\HKEY_CURRENT_USER\SOFTWARE\Valve\SourceFilmmaker\Layouts_9\1\WindowPercentageGeometry
    This key is set by SFM every time is closes. So in our case, we "minimize" by hiding off screen, it will save that position, which we dont want (we fake minimize because actual minimizing messes up the render).
    The key is backed up, and restored every time you shut the program down or a render batch ends. In the odd event it didnt work, and you launch SFM normally and it is invisible, go to the Multi-Render settings via the gear, and click the button "Reset SFM window postion registry to default".

  • We need to run as admin to avoid issues spawning/closing processes, as well as avoid issues reading SFM's memory (We read the memory to get the layoff % complete number). You can try to run normally, but I can't say for sure it will work.
Known issues
  • Splitting up the render causes "ghost frames" at the beginning of each frame range (issue stemming from SFM, not this program). So splitting a render into 5 sessions, you'll get 5 ghost frames. You can resolve this by just going into sfm and re-rendering those few frames.
Počet komentářů: 22
FilmAFrame 5. srp. v 2.30 
You can add this to your Steam guide if you want:
If you are using an Intel CPU and Windows OS Scheduler to choose which cores render your sessions, choose P-cores and disable E-cores.

E-cores are for background tasks and can make rendering take longer, so it's best to disable them.

Some Intel CPUs have a lot of cores, like the i9-10900K, which only uses 10 P-cores and 20 threads.
AMD CPUs don't have P-cores or E-cores.

Each intel core can handle 2 threads, but SFM only supports 1 thread of your CPU, so use this link to show how to use 2 threads for each core so rendering can be faster since using the Windows OS Scheduler lets you choose which core to use for each session while rendering
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1400355861&searchtext=run+faster
Pissman 19. čvc. v 17.31 
When I try to customize my render resolution it still renders in 720p. If I set it higher than my monitors resolution the warning window appears but still still results in 720p files. I have tried setting it in steam as well as Multi-Render.
Link Freeman 12. čvc. v 22.52 
@Ball24 maybe because its not the whole point?
avian 5. čvc. v 15.10 
#NEVERBLEND
Balls24 5. čvc. v 7.46 
people will do anything but switch to blender and its beautiful
hotpockette 1. čvc. v 5.48 
this is some wizard shit. very awesome :love_seagull:
DaMangaFred 23. čvn. v 2.57 
2. Set the launch options via the "SFM Launch Options" button[ github.com ], just copy your launch options set already in Steam. this one
DaMangaFred 23. čvn. v 2.56 
i didnt understand the 2nd point
FilmAFrame 21. čvn. v 7.29 
What GPU did you use for this? Also, your guide is awesome. It really helped me with a lot of stuff :)
Thallidus 21. čvn. v 6.21 
This is pretty cool. I'm probably not gonna use it since i don't render stuff that long but I'll give u credit where credit is due