Plasma::Wallpaper does software scaling/copying when it isn't necessary

Zack Rusin zack at kde.org
Mon Jul 12 21:46:37 CEST 2010


On Monday 12 July 2010 13:01:33 velociraptor Genjix wrote:
> > I'm not sure what would that give you. I'm guessing you want to use
> > something like XvPutImage which wouldn't work because you already
> > convert the frames to RGB and basically no one accelerates Xv with RGB
> > surfaces. Besides it would be only meaningful assuming that a) Plasma
> > currently runs on a system with X11, b) the driver doesn't implement Xv
> > using an overlay. While we could assume "a" and disable the plugin if
> > it's not the case, there's no reliable way of testing b and it will
> > obviously break the entire Plasma (your video will render on top of
> > everything).
> 
> Well any pixel format is possible but we don't want to break plasma. 

This isn't about format, it's simply that backend scalers render video on top 
of other contents (hence the name "overlays"), so on canvas such as Plasma 
they can't be used.
 
> > > A video wallpaper should be as natural as an image or colour in today's
> > > world.
> > 
> > That's a bit unrealistic. A static wallpaper needs to be uploaded only
> > once, while the video will need to be uploaded ~24 times per second (and
> > given that you're scaling in software even on an avarage laptop that's
> > 1280*800*4*24 =~ 98MB every second).
> 
> But still with all the fancy 3D effects we have turned on... 

That's a /very/ different thing. The geometry and every individual pixel for 
those is generated on the GPU. That's not the case for video, video isn't 
generated on the GPU, it's stored on the disk and has to be uploaded. 

> > IMHO for video it'd be more interesting to start Plasma with a GL engine
> > and after decoding the frame (to whatever is the video native YUV
> > format, e.g. YUV420 for VP8) rendering it as a texture while doing the
> > to rgb conversion and scale in shaders.
> 
> Is it currently possible? Plasma doesn't currently have a GL engine I don't
> think?

Just start it with "-graphicsystem opengl" and go from there.

z


More information about the Plasma-devel mailing list