Viewport Benchmark [proof of concept]

In the days of blender 2.4 a talented coder, whose name i do not know and give full credits for the creation of the script, made a viewport benchmark script that tested different view modes and subdivision levels in the viewport to give a idea on the systems working performance.
Compared to the rendering benchmarks this can give a idea how good your system performs in different modeling scenarios.

I have found this script on a old laptop and restored some functionality and made a little addon out of it. The basics are kinda working but it would need quite a bit more to make it a good benchmark tool.
However i think i neither have the time nor the knowledge to make a nice benchmark platform. So i want to put this out here as proof of concept so someone else can pick it up. I probably do some more changes to test some things but if anything there will be very slow updates.

At the moment the benchmark can be run in any scene it does a 360 spin and takes some measurements to give a fps result.
Note: due to the python viewport updates the actual performance is likely higher than what the benchmark shows. And its also quite unstable, probably due to the ui refresh.


1 Like

I have the old .blend file for the viewport benchmark. It was the last available version modified by @elvios user. Do you want me to upload the .blend file to share it so you can use/analyze the scenes?
I can’t find the discussion thread about it in the old forum (apparently it has been lost). The old benchmark had some considerations, such as if the time to perform any of the benchmarks was too slow, it was aborted (or something like that)

Sure, it would be great to have the blend file.

Here it is:

ALT-P with the mouse over the text editor below to run the benchmark. I’m not sure which version of Blender was the last version where the script could finish the benchmark without errors (maybe Blender 2.72)

1 Like

Prior to Blender 2.8, OpenGL in viewport was not as demanding as in 2.8+. Also a few years ago the standard screen resolution was 1080p. In these times the screen resolution varies a lot between users going from 1080p to UHD monitors, and 2.8+ viewport (specially Eevee material preview) can become more demanding with OpenGL, so performance can vary depending on the size of the viewport and therefore according to the monitor (screen resolution) that each user has. How do you plan to handle that in the 2.8+ viewport benchmark? Is it possible from a script to set the same resolution of 3D Viewport in pixels for all users, regardless of the screen resolution that the user has?

By the way, I think you would have more help to achieve a collaborative viewport benchmark by proposing this at devtalk.blender.org

good point, i did not really think about this yet, what i know is that blender can start with a fixed size ( -p , --window-geometry <sx> <sy> <w> <h>) so if it for example would be implemented in a launcher it could be run at specified resolutions. Otherwise it might be possible to resize the view in blender to a specific size instead of maximize it, but i have not looked into that.