<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Ivan Čukić ha scritto:
<blockquote cite="mid:200707101004.08889.ivan.cukic+kde@gmail.com"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">to handle that itself.  Much like resizing and moving.  Rotation seems
to be a bit of a performance sore-point in QGraphicsView generally.
    </pre>
  </blockquote>
  <pre wrap=""><!---->Mayge you can make an OpenGL plasmoid - so that the rotation is done on GPU?


  </pre>
</blockquote>
Zack's OpenGL example plasmoid don't use QGraphicsItem transformations
to do rotation.<br>
<br>
A similar thing could be easily done for the PictureFrame plasmoid
without using GPU acceleration, simple prerendering the rotation using
a QPixmap.<br>
<br>
The rotation itself it is not too slow, and the PictureFrame plasmoid
is quite static: the main problem is that QGraphicsview recalculates
transformations each paint event, even for static object, and that the
paint event occurs always on move, and also when another overlapping
object updates. <br>
A good per-item "cache transformations" flag would be really nice... or
better "cache item paint to a pixmap" ^^''<br>
<br>
I think QGraphicsview doesn't cache paint because it is designed to be
used with a large number of small objects, while on plasma we will have
a small number of large objects...<br>
<br>
(Also I think we should try to avoid using OpenGL just to show a static
picture on the desktop!)<br>
<br>
- Antonio Vinci<br>
</body>
</html>