@SGaist
Thanks for suggesting OpenGL, I think that might be a possibility at some point.
As of now, I got it to work by locking the UI updates and batch repainting all of the windows at once:
for(auto widget : qApp->topLevelWidgets()){
widget->setUpdatesEnabled(true);
}
qApp->processEvents();
for(auto widget : qApp->topLevelWidgets()){
widget->setUpdatesEnabled(false);
}
I know this may not be the best way to achieve this, so I am all ears if there's any better way to limit UI updates to a single point in execution.
Thanks!