У меня есть изображение / pixbuf, которое я хочу нарисовать в gtk.DrawingArea и часто обновлять, поэтому операция блитинга должна быть быстрой. Делать это простым способом:
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)
Однако это приводит к очень низкой производительности, вероятно, вызванной отсутствием пиксельного буфера в цветном формате дисплеев.
У меня тоже не было успеха с Cairo, поскольку он кажется ограниченным 24/32-битными форматами и не имеет 16-битного формата (FORMAT_RGB16_565 не поддерживается и не рекомендуется).
Какие есть альтернативы быстрому рисованию картинок в Gtk +?