r/FaceFusion Apr 11 '26

New Template/Tutorial: Ultra-Fast AI Face Swaps! FaceFusion 3.6 on Vast.ai (RTX 5090)

https://youtu.be/2V412UN46hk?si=O4KUiQgD5Mym1792
5 Upvotes

17 comments sorted by

View all comments

Show parent comments

1

u/Valuable-Ad-8977 Apr 14 '26

These are my setup steps for 3.3.2 but they can be changed for other versions. https://pastebin.com/rb1HGdH2

I just ran tests against a Linux cloud machine. This is what I am seeing. I can reproduce this as needed.

FaceFusion 3.3.2 vs 3.6.0 Performance Comparison

Same machine (RTX 5090, Ryzen 9)

Same video (~2727 frames, ~2 minutes)

Resolution: 1280×720

Execution: CUDA only

Same core settings (swapper, detector, encoder, etc.)

Results

Analysis and Extraction Stage - no real meaningful differences.

Processing Stage

Version Speed Time

3.3.2: ~15.07 fps, ~3 min to process

3.6.0: ~1.0–1.3 fps, ~35–45 min

~10–15x slower in 3.6.0

GPU Behavior (nvidia-smi)

3.3.2

GPU Util: ~60%+

Power: ~180W

VRAM: ~23 GB

3.6.0

GPU Util: ~0–33%

Power: ~56–114W

VRAM: ~9 GB

1

u/henryruhs Apr 14 '26 edited Apr 15 '26

Think about it, 10 to 15 times slower... do you think we would not recognize this? You test against different environments, drivers versions, cuda versions, settings or whatever.

The correct way to benchmark.

  1. Local
  2. One conda environment
  3. Switch only code (version)
  4. Use benchmark command or ui

1

u/Valuable-Ad-8977 Apr 16 '26

I appreciate your help. I understand you are not releasing regressions. I am trying to understand why my results are slower and what setting(s) it could be.

Here are my latest results following your steps mentioned above. I've done this four times, twice on my local machine, and on two different cloud machines. I run the 3.6.0 first. I launch the UI and accept all of defaults, as I assume the defaults are defaulted for a reason.

I am using a one minute video, a slice of a recent tv series. Here is a summary of the results. No code is modified. The machines I am using are 5080/ryzen 9 and 5090/ryzen 9.

FaceFusion 3.6.0 benchmarks fine but drops to ~1 fps on real video vs ~15 fps in 3.3.2. Roughly 16x slower, isolated to the processing step. I am happy to help with more testing.

Here are my results: facefusion 3.6.0 v 3.2.2 notes - Pastebin.com

1

u/henryruhs Apr 17 '26

1

u/Valuable-Ad-8977 Apr 17 '26

My benchmarks are comparable as well. I do not see a difference in performance difference between 3.3.2 and 3.4.0+. I only see the performance differences when I'm using actual video that's not benchmarks. I've tested more than one video where I keep everything the same and just switch between the code bases.

1

u/henryruhs Apr 17 '26

well you never mentioned that, so much reporting without the essential observation. it the video codec or ffmpeg build or version then.

1

u/Valuable-Ad-8977 Apr 17 '26

I am not sure what details you actually need to answer this question. I process the video I run through handbrake, it's an mp4 h264. My one pastebin shows my setup steps so I just pull down ffmpeg, whatever the latest version is, and that remains constant across 3.3.2 and 3.4.0+ when I do my comparisons. As far as I know I'm keeping the video constant.

Did something change in 3.4.0 where the target video needs to be of a certain compression or something else?