Skip to content

Drop QGraphicsView classes in PaintData

David Edmundson requested to merge work/effects_graphicsviewport into master

QGraphicsRotation and Scale are QObject wrappers. It's not useful in data structures where we're creating multiple of these every frame. It's large enough to appear in hotspot as taking over 1% of a regular frame.

We don't even use the QGraphicsRotation mapping inside scene for a reason, so the abstraction is not giving us much. QGraphicsView code is also something to be avoided moving forwards.

It's technically an API break in libkwineffects, but pragmatically we're breaking the accessor for scene and no-one uses these. We also lose QGraphicsScale's origin, but we never exposed this in PaintData's public header.

Tested with general effects in particular the flip switch task manager which rotates in all angles.

Merge request reports