Application version
4.4, 4.5, 4.6beta. Didn't check earlier versions.
Platform
(all x64) Windows 7 + NVIDIA GTX 950, Windows 10 + embedded Intel
[slow_search_settings.log]
GPU, Ubuntu 18.04, Linux Mint (virtualized)
Printer
(shouldn't matter) Ender-3
Reproduction steps
Screenshot(s)
(Image showing the problem, perhaps before/after images.)
Actual results
Restoring the visibility of all settings is very slow.
Expected results
Restoring the visibility of all settings should be instantaneous.
Project file
n/a (empty project)
Log file
Only startup logs. Filtering doesn't add anything to the logs.
(https://github.com/Ultimaker/Cura/files/4458086/slow_search_settings.log)
Additional information
n/a
I've tested this with default settings (renamed the %APPDATA%\cura
folder). Same issue.
Cura is somewhat stuck between a rock and a hard place here. There are lots of settings, and you have chosen to make them all visible. I order to make the scrolling go as smoothly as possible, Cura is configured to draw all setting controls into a "graphical cache". Creating this caches takes time and unfortunately the cache gets invalidated when changing the visibility of all those controls. Not using the cache would make scrolling atrocious.
The best current workaround is to not make all settings visible. Be critical of the set of settings you actually need and use the rest via the search.
A significant redesign of the settings list is probably the only way to get rid of this. We did make some good improvements in this regard in Cura 4.4 and a bit more in 4.5. But it will always have to go through 500 settings or so if the user enabled them all, each with their label from the translation database, mouse areas, tooltips, marker icons (global, reset, function-restore) and each with a dozen properties that have to be evaluated from the profiles (setting value, error state, warning state, active, etc).
Most helpful comment
Cura is somewhat stuck between a rock and a hard place here. There are lots of settings, and you have chosen to make them all visible. I order to make the scrolling go as smoothly as possible, Cura is configured to draw all setting controls into a "graphical cache". Creating this caches takes time and unfortunately the cache gets invalidated when changing the visibility of all those controls. Not using the cache would make scrolling atrocious.
The best current workaround is to not make all settings visible. Be critical of the set of settings you actually need and use the rest via the search.