Cura: [4.4+] Clearing out "Search settings" is very slow

Created on 9 Apr 2020  路  3Comments  路  Source: Ultimaker/Cura

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

  • open the slicer settings and choose "all"
  • expand every group (Quality, Shell, Infill, ...)
  • type in "ada" in the "Search string"
  • the "Use Adaptative Layers" shows up (good)
  • now click the "X" icon. Making all the options visible takes several seconds (see the video)

Screenshot(s)
(Image showing the problem, perhaps before/after images.)
slow_search_settings

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

Deferred Bug

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.

All 3 comments

I've tested this with default settings (renamed the %APPDATA%\cura folder). Same issue.

slow_search_settings_clean

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).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

probonopd picture probonopd  路  3Comments

JRRN picture JRRN  路  3Comments

DmitryBychkov picture DmitryBychkov  路  3Comments

timherrm picture timherrm  路  3Comments

jornada812 picture jornada812  路  3Comments