VL.Benchmarks: A Performance Benchmarking Tool for vvvv gamma

Hello everyone,

Introducing VL.Benchmarks, a tool for assessing the performance of machines using vvvv.

Features:

  • Predefined Benchmarks: Ready-made benchmarks for immediate testing.
  • Custom Benchmarks: Define your own benchmarks to suit your testing needs.
  • Results Logging: The results are automatically saved in CSV format for data analysis.

Note:
The current version of VL.Benchmarks is optimized for high-end machines, and mid-range machines may experience very low FPS with the default settings. You can adjust some settings in the BenchmarkList.xml to better suit your hardware.

Getting Started:

To begin with VL.Benchmarks, download the latest release from the GitHub Releases page.

Feedback and Contributions:

Please share your feedback, report any issues, or discuss potential improvements here.

If you are interested in contributing to the development of VL.Benchmarks, please visit the GitHub repository.

Credits:

Special thanks to Refik Anadol Studio for their sponsorship of this project.

12 Likes

Hey, nice one.

First impressions / ideas:

  • Maybe try exporting as single file? The folder content is quite overwhelming at first sight.
  • The window opens on my secondary screen. Should be on primary imho.
  • As a improvement: save last window position / size.
  • Automatically add the executable to the Windows Graphics performance preferences
  • After running the benchmark the (Im)Gui became unresponsive for quite some time (buttons did not work). Thought it had crashed. Left the app open by chance and it “recovered”. If some calculations are running in the background that cause this “freeze” maybe show some kind of indicator.
  • Add a setting to the GUI that allows the users to set the number of consecutive runs.
  • Add another feature to define how many of those are “warm-up” runs, to saturate the cooling before the “real” ones for example.
  • Add a test for video playback performance. Using the Hap Player - not sure how this works out license wise - or the ImagePlayer. Not sure how many performance metrics the latter exposes or can expose, like IO-duration, cpu-decode, gpu-decode. Including “standardized” test material might be a problem I guess. Could be solved by adding a “generator”.
  • Use LibreHardwareMonitor or similar to capture more hardware details.
  • Also record (temperature) sensor readings. Allow users to set ambient temperature in the gui to be able to calculate ΔC°.
  • Some place to gather the results would be nice. Ideally a database but maybe just some (non-google) spreadsheet for starters.
  • Place the tool in places like r/gaming, Overclockers and some such.
2 Likes

All those suggestion are great!

Just my two cents :

Oh forgot about that one. Seems a bit dated though and the fork of LibreHardwareMonitor it is based on also hasn’t been updated in 6 years …

Some more:

  • I ran the benchmark again while also having HWInfo open to check the temps and power draw. While a lot of the benchmarks maxed out the GPU at 100 % there were quite some differences in temps and power draw between them. So these measurements might provide some insights as to why perf is what it is.

  • I also noted that the benchmarks targeting the CPU are “scattered between” the GPU ones. Idk if this is on purpose (to give the GPU a breather from time to time)? But I think it would be better to group them together so first the GPU gets the full blast and then the CPU or vice versa.

my results
CPU RAM GPU Driver Version
AMD Ryzen 9 7950X3D 16-Core Processor 64 NVIDIA GeForce RTX 4090 31.0.15.4633

Benchmark Resolution Duration Params Mean Min Max Median Std Dev CV 1% Low
BoxGeometryRenderer 1920x1028 60 Box Count: 3000000 75.60466 69.85582 82.82671 75.71971 2.135391 2.824417 71.38475
ComputeShaderInstancing 1920x1028 60 Trail Length: 1024, Trail Count: 256 50.28324 47.970833 53.57248 49.83629 1.0473857 2.0829716 48.88455
NoiseDynamicModel 1920x1028 60 Model Resolution: 256 90.11859 62.57705 92.63548 90.71447 2.1635804 2.4008148 82.22891
FluidAndParticles 1920x1028 60 49.647793 43.66145 51.275215 49.78443 0.68924284 1.3882648 45.981594
FuseTerrain 1920x1028 60 104.74363 93.72071 113.13497 105.529205 3.742941 3.5734308 96.5993
GPUParticleSystemPBR 1920x1028 60 Particle System Count: 10, Particle Count: 1048576 58.591713 49.66797 63.75843 59.136604 3.0395854 5.1877394 50.79933
GPUParticleSystem 1920x1028 60 Particle System Count: 10, Particle Count: 1048576 78.11635 65.43261 90.29835 78.7991 6.211759 7.9519324 67.53129
ImposterPerfTest 1920x1028 60 Particle Size: 1, Count: 10000000 47.062496 45.23004 47.82492 47.095837 0.2634409 0.5597682 46.14107
RaymarchNoise 1920x1028 60 74.2936 49.419323 80.64451 74.72194 4.086576 5.500576 51.500603
SpherePhysics 1920x1028 30 Sphere Count: 1000 204.49078 34.74756 245.4349 216.2396 32.727 16.004145 135.09166
FuseTrails 1920x1028 60 89.091385 37.686787 93.01893 89.18299 1.7718962 1.9888526 85.551056
BoxGeometryRenderer 3840x2160 60 Box Count: 3000000 55.841003 51.509487 60.210133 55.84845 1.6151197 2.8923542 53.156376
ComputeShaderInstancing 3840x2160 60 Trail Length: 1024, Trail Count: 256 46.186665 44.02261 49.66871 45.672737 1.0842581 2.3475566 44.73647
NoiseDynamicModel 3840x2160 60 Model Resolution: 256 88.39555 15.743593 90.67334 88.828094 2.0971746 2.3724887 81.97011
FluidAndParticles 3840x2160 60 26.60014 21.51338 27.507895 26.713682 0.56936103 2.1404438 23.97315
FuseTerrain 3840x2160 60 27.584501 26.28722 28.419426 27.595646 0.28716087 1.0410225 26.682337
GPUParticleSystemPBR 3840x2160 60 Particle System Count: 10, Particle Count: 1048576 44.09851 38.97192 47.79909 44.485176 2.2545834 5.1126065 39.929546
GPUParticleSystem 3840x2160 60 Particle System Count: 10, Particle Count: 1048576 41.276215 34.74104 47.753212 41.796494 3.7203417 9.013283 35.408436
ImposterPerfTest 3840x2160 60 Particle Size: 1, Count: 10000000 17.472147 17.10147 17.637804 17.483252 0.07876425 0.45079893 17.20993
RaymarchNoise 3840x2160 60 41.626057 23.506016 43.269253 41.851337 1.4321291 3.440463 33.479797
SpherePhysics 3840x2160 30 Sphere Count: 1000 204.38196 117.608315 244.94196 214.70746 32.526485 15.914557 134.54642
FuseTrails 3840x2160 60 56.87912 40.043087 65.69827 56.965935 1.3881437 2.4405153 53.829617
1 Like