I’ve been working on rendering performance in my spare time and I will likely be producing a number of test builds in the future to try to determine the impact of some changes across a variety of hardware.
The first PR in this style is here. It limits the size of any texture we load to 512x512. It’s aimed at lower end hardware with limited texture memory and mobile GPUs that use shared system memory. This is a very primitive first pass at the technique, mostly designed to help me understand how much impact it will have.
If we were to pursue this line reasoning, eventually it would likely be something integrated into the preferences system to allow a user to choose what their upper limit for texture sizes were, trading off quality for performance, and allowing us to pre-set the value to a specific limit depending on the kind of rendering hardware we detect.
If you’re experiencing low framerates and want to help out, please try out this build and let me know how much it impacts the render rate on your system compared to the current production build.
As an aside, I’m also working on a project that uses a separate app to load pre-built scenes and render them from a set of pre-determined angles in order to develop a baseline from which we can measure changes (and ensure that there are no breaking changes). I’m hoping to have something available to test with in the next month or so.