<br><br><div class="gmail_quote">On Mon, Mar 30, 2009 at 9:15 PM, David Nolden <span dir="ltr">&lt;<a href="mailto:zwabel@googlemail.com">zwabel@googlemail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Am Montag 30 März 2009 21:32:47 schrieb Alexis Ménard:<br>
<div class="im">&gt; That is not completly true. With composition we let the graphics card do it<br>
&gt; for us. We fill the background transparent that is all.<br>
</div>You don&#39;t do that for plasmoids, do you?<br>
<div class="im"></div> </blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">   </blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
&gt; In your case at each paintEvent on the panel you will end up to grab the<br>
&gt; widget behind, create a pixmap, then blend each pixels with the panel<br>
&gt; itself. Those are not free operations, especially on a device (we want<br>
&gt; Plasma running on that too). So on those devices that don&#39;t have<br>
&gt; compositing, we don&#39;t want by default that option. Then you have the<br>
&gt; overhead in DesktopView::paintEvent() to check if you should invalidate and<br>
&gt; call a repaint on the panel. I think it is overhead because most of the<br>
&gt; paint event the check will be useless. So then solutions, cache the pixmap<br>
&gt; which is blended and don&#39;t do the check change into paintEvent of the<br>
&gt; DesktopView. But what happened there? Kickoff 2.0, when we should<br>
&gt; invalidate the cache? When we should repaint?.... I forgot that updating<br>
&gt; the whole panel like you do will end up to paint all applets in the panel,<br>
&gt; even if there are cached they will be mark as dirty, for example the K Menu<br>
&gt; will be repaint even if it don&#39;t need it (not transparent).<br>
</div>Since the background of the panel usually only consists of the wallpaper, this<br>
should be a cheap operation, essentially not much different from what<br>
QGraphicsVIew does internall when it renders a plasmoid on top of the<br>
background.<br>
<br>
The overhead to check for intersection with panel is extremely small, not even<br>
worth noting. It&#39;s done per-event, not per-pixel.</blockquote><div><br>Put a QDebug and look how many times you enter in the paint event of the DesktopView. A lot! Lot of thing happen into the desktop even if the painter is clipped you end up into the paintEvent anyway and do your intersection. I agree that is not an expensive op but still it think that is overhead for a feature that doesn&#39;t affect most of users now.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
Not the whole panel is updated, only the part of it that intersects with the<br>
changed background part, so that part of your criticism is wrong. Please read<br>
the patch more exactly.</blockquote><div><br>Yep but let&#39;s say you update the rect under the K Menu, you will repaint the K Menu (because of update(), so it include the icon too), this things will not happen with the compositing since the icon of KMenu is opaque. As I said it not a big deal but it is not sexy.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="im"><br>
&gt; So i think i will follow aaron and i think that is not an optimal idea. For<br>
&gt; two reasons, Linux start to have proper drivers, and it&#39;s going to be<br>
&gt; better every day, Gallium3D start to be supported by the industry (for the<br>
&gt; future). More and more distributions come with packages that have<br>
&gt; composition enabled and proper drivers. The second reason as i said is<br>
&gt; devices, that will not help us to make Plasma + QGV fast on those devices<br>
&gt; (those that don&#39;t have compositing).<br>
<br>
</div>Who cares how future devices will be? Who cares how future drivers will be? We<br>
are already working on KDE 4.3, something that is called &quot;stable&quot; for public<br>
use, right now! Why doesn&#39;t even a single plasma developer seem to care how<br>
current or even past devices work?</blockquote><div><br>We care, we just think that it is not useful to support that. Supporting, maintaining and adding a &quot;workaround&quot; for a feature that is already provided by the compositing is not relevant i think. Let&#39;s use what we have now and let&#39;s behind us workarounds that we had for KDE3.<br>
In KDE3 time we didn&#39;t have that, so those kind of workarounds was the only solution.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 Do you expect everyone to dump his computer<br>
just to get a nice looking Desktop? Or are you planning to position plasma as<br>
a desktop-shell only for new computers, aka. Vista for Linux?<br>
</blockquote><div><br>Nice looking with actual technologies. It is very current that a game is not with full details because you graphics card X doesn&#39;t provide the Y functionnality. Same here.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Sorry, but I find this attitude disappointing.</blockquote><div><br>We just give our point of view. <br></div></div><br>