<table><tr><td style="">rjvbb added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D22375">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">Does it happen with every code that uses QPropertyAnimation, or just with this KBusyIndicator?</pre></div></blockquote>
<p>I don't know, neither for QVariantAnimation (which is used here).</p>
<p>Testing just now (on the N3150 machine) with the Sliders page of the oxygen-demo app I get between 30% and 35% CPU (!) with Fusion, Breeze and Oxygen (which all use something based on QAbstractAnimation). QtCurve uses an internal, QTimer-based implementation that uses about half that (still too much I realise now).</p>
<p>I should add that I use a traditional icon theme, pixmap instead of svg based. Rotating pixmaps is maybe much more expensive than rotating and svg, and both probably depend on how much of it is done in vector intrinsics.</p>
<p>Traditionally, this kind of animation used either pre-calculated frames (cf. the busy cursors) or else colourmap animation (which is *very* cheap). The latter is not going to be feasible here but building table (QVector?) of a reasonable number of pre-rotated pixmaps and looping over that should be possible (can even be done "online" by caching the frames as you display them). Of course my current workaround is a lot easier and should be fine a long as the animation doesn't run on the same thread as the actually busy one.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R236 KWidgetsAddons</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D22375">https://phabricator.kde.org/D22375</a></div></div><br /><div><strong>To: </strong>sitter, cfeck, apol<br /><strong>Cc: </strong>rjvbb, ngraham, kossebau, broulik, kde-frameworks-devel, apol, LeGast00n, GB_2, michaelh, bruns<br /></div>