Was ist der schnellste Weg, um ein Bild in Gtk + zu zeichnen?

8

Ich habe ein image / pixbuf, das ich in eine gtk.DrawingArea zeichnen und häufig aktualisieren möchte, also muss die Blitting-Operation schnell sein. Mach es einfach:

%Vor%

Dies führt jedoch zu einer sehr langsamen Leistung, die wahrscheinlich dadurch verursacht wird, dass der Pixbuf nicht im Farbformat der Anzeigen ist.

Ich hatte auch keinen Erfolg mit Kairo, da es auf 24/32-Bit-Formate begrenzt scheint und kein 16-Bit-Format hat (FORMAT_RGB16_565 wird nicht unterstützt und ist veraltet).

Welche Alternativen gibt es zum schnellen Zeichnen von Bildern in Gtk +?

    
Grumbel 06.06.2009, 13:28
quelle

3 Antworten

6

Versuchen Sie, eine Pixmap zu erstellen, die die gleiche Farbtabelle wie Ihre Zeichenfläche verwendet.

%Vor%

und zeichne es mit

auf den Bildschirm %Vor%     
Ivan Baldin 07.06.2009, 06:29
quelle
2

Produzieren Sie wirklich nicht genug rohe Geschwindigkeit / Durchsatz? Oder sehen Sie nur Flimmern?

Wenn es Letzteres ist, sollten Sie vielleicht die doppelte Pufferung untersuchen, um stattdessen Ihre Aktualisierungen durchzuführen? Grundsätzlich besteht die Idee darin, in einen unsichtbaren Puffer zu zeichnen und dann der Grafikkarte mitzuteilen, den neuen Puffer zu verwenden.

Vielleicht finden Sie auf dieser Seite einige Informationen zur Doppelpufferung .

    
Chris Harris 06.06.2009 20:46
quelle
0

Es kann sich lohnen, ein Benchmarking durchzuführen - wenn Sie mit einem kleinen Bereich zeichnen, ist es immer noch langsam?

Wenn ja, lohnt es sich, auf den Mailinglisten pygtk oder gtk nachzufragen ...

    
Stuart Axon 17.08.2009 10:03
quelle

Tags und Links