On Fri, Oct 13, 2006 at 06:07:46PM +0200, Marcus Obst wrote:
On Fri, Oct 13, 2006 at 04:55:23PM +0200, Tobias Koenig wrote:
Hi Marcus,
Wie sieht denn dein Code aus? Evtl. kann man auf Ebene der Algorithmen schon bei der Optimierung anfangen?
Problem war, dass ich mir mit Hilfe zweier verschachtelter for-Schleifen alle Pixelwerte eins Bildes angeschaut habe und diese dann jeweils in einen anderen Farbraum transformiert habe.
Hmm, um das durchlaufen scheint man nicht drumherum zu kommen, man könnte aber evtl. einen Teil der Berechnung in Assembler auslagern. So wird in KDE z.B. der SSE Befehlssatz zur Manipulation von Icons verwendet sofern vorhanden. Der Code ist unter http://websvn.kde.org/trunk/KDE/kdelibs/kdefx/kimageeffect.cpp erreichbar.
Dabei habe ich nur QT-Bordmittel verwendet. Aber wie immer im Leben scheint es auch dort wichtig zu sein, zu wissen ,,was die Welt, im Innersten zusammenhält''. EINFACH ist eben nicht immer gleich SCHNELL!
Ich nehme an du hast QImage dafür benutzt... hast du QImage::pixel() oder QImage::scanLine()/bits() zum Zugriff auf die Pixel verwendet? Letzteres dürfte recht schnell sein.
Ciao, Tobias