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 +?
Versuchen Sie, eine Pixmap zu erstellen, die die gleiche Farbtabelle wie Ihre Zeichenfläche verwendet.
%Vor%und zeichne es mit
auf den Bildschirm %Vor%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 .
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 ...