[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Fast Texture loads
From:       Tom Burdick <tburdi1 () uic ! edu>
Date:       2008-02-07 1:48:01
Message-ID: 200802061948.01760.tburdi1 () uic ! edu
[Download RAW message or body]

Hello KWin Devs! New to the list.

Anyways I noticed kwin uses the same code that (at least 4.3) Qt uses to 
create textures from QImage's which I found to be *very* slow in comparison 
to another method, especially when constantly updating a texture from a 
QImage. I'm sure the same could be said about a QPixmap.

Qt and Kwin use some bit shifts and such on each and every pixel. and actually 
creates a complete deep copy of image at least once. Completely unnecessary 
if you have glsl support.

Instead of doing that, a QImage could be loaded significantly faster, 
especially if updates are needed using streaming textures and a simple shader 
to reorder the channels and re-render in to another texture with the vertices 
flipped to fix the mirror issue. Let the graphics card do its job, and a much 
faster job of it. My code, which uploads textures to the video card extremely 
frequently, saw a speed up of ~4.3x using this method.

I'm not really sure how much kwin actually uses texture loading at the moment 
however so I'm not sure if it'd be worth the effort to implement such a 
scheme. If it'd be worthwhile you think I'd gladly implement such a scheme 
and pop a patch on the list. Really the only requirement necessary is to have 
shaders available.

Tom Burdick
_______________________________________________
Kwin mailing list
Kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic