gtk.DrawingAreaに描画して頻繁にリフレッシュするimage/pixbufがあるので、blitting操作が高速でなければなりません。Gtk +で画像を描画する最も速い方法は何ですか?
def __init__(self):
self.drawing_area = gtk.DrawingArea()
self.image = gtk.gdk.pixbuf_new_from_file("image.png")
def area_expose_cb(self, area, event):
self.drawing_area.window.draw_pixbuf(self.gc, self.image, 0, 0, x, y)
ただし、pixbufが表示色形式ではないため、パフォーマンスが非常に低下します。
24/32ビットフォーマットに限られているように、16ビットフォーマット(FORMAT_RGB16_565はサポートされておらず、推奨されていません)のため、私はカイロでもうまくいっていませんでした。
Gtk +で写真をすばやく描画するには、どのような方法がありますか?
それはスループットがちらつくではありません。私はOLPC上でいくつかのインタラクティブなフルスクリーンスクロール/アニメーションをやろうとしています。これは非常に速く始めるのではなく、16ビットで実行されるものです。 SDLで同じことをすると問題なく動作します。 gtk.Layoutを使ってスクロールするのはかなり速いですが、gtk.DrawingAreaに描画することで手動でスクロールするのは(後で効果を追加したいかもしれませんが)完全に使用できなくなります。 – Grumbel