A few performance notes for UIs:
- Making a model (eg. applications) filtering pipeline vary depending on the filtering parameters is a good idea. Filtering with regexp .* is expensive, but rewiring the model filtering chain is cheap. In other words don't do "include all" or "include none" filtering.
- Filter first, sort last.
- Filter first by bools and ints, then by strings.
- "elide" property for Text elements is resource intensive. Don't use it for delegates that are generated at runtime.
- If your image is in 24x24px space, make it 24x24px in memory. Use Image element's sourceSize. No more scaling while generating delegates. No you can also use smoothing with no additional cost. NEVER make sourceSize dynamic though. Every time it changes the image is reloaded from source (disk, network...).
- "opacity: 0" is not the same as "visible: false". "opacity: 0" elements and their children will still be processed for geometry, "visible: false" elements and their children are not.