RIFE throughput benchmark for SVP 4
===================================

Measures how many output frames per second RIFE can produce on your GPU, on
the TensorRT and TensorRT-RTX backends, for the v1 and v2 models, at 1080p and
4K. Nothing but an SVP 4 installation is needed: it uses SVP's own VSPipe and
python, its rife\helpers.py and its models, on a synthetic clip. No video file,
no decoder and no display are involved, which is what makes the numbers
comparable between machines.

How to run
----------
Unpack all three files into one folder and run run_svp_rife_bench.cmd.

If SVP is not in C:\Program Files (x86)\SVP 4, set SVP_DIR first:

    set "SVP_DIR=D:\My\SVP 4"
    run_svp_rife_bench.cmd

Results are printed and also written to svp_rife_bench_results.txt.

The first measurement of each combination also builds a TensorRT engine, which
takes about 100 seconds per combination on TensorRT and a few seconds on
TensorRT-RTX. That is not counted in the reported fps. A full first run takes
roughly 15 minutes, later runs about 3.

Options
-------
    --reps N        measurements per configuration, default 3, best is kept
    --streams N     GPU threads. Default 2. Set this to the "GPU threads"
                    value in your SVP profile, otherwise you are measuring a
                    different configuration from the one you play with.
    --multi N       interpolation factor, default 2
    --models a,b    default 4.6,4.6_v2
    --backends a,b  default trt,rtx
    --svp PATH      SVP folder

Example, only the v1 model on both backends, one measurement each:

    run_svp_rife_bench.cmd --reps 1 --models 4.6

Getting comparable numbers
--------------------------
Close or minimise anything that draws on the same GPU, a browser and even the
desktop compositor included, and leave it alone while the run is going. On this
machine a busy desktop cost about 15% and made the fps drift downwards over the
repeats. Use the default 3 repeats or more; a single repeat can also catch the
card while it is still clocking up.

Reading the numbers
-------------------
The figure is output frames per second. A 23.976 fps source at x2 needs 48 fps
to play in real time, at x5 it needs 120, at x10 it needs 240. Source frame
rate does not change the measurement.

Note on the v2 models with TensorRT-RTX: without the constant-folding fix those
build and run at full speed but produce corrupted frames, so a v2 + TensorRT-RTX
number from an unpatched install is measuring broken output.
