Для меня добавление этой строки (или комментирование, потому что там написано в 13-й строке) в gradle.properties
сработало:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Также я отключил Мгновенный запуск (Android Studio 2.1.2) .
Попробуйте создать Pixmap, который использует ту же цветовую карту, что и ваш рисунок. область.
dr_area.realize()
self.gc = dr_area.get_style().fg_gc[gtk.STATE_NORMAL]
img = gtk.gdk.pixbuf_new_from_file("image.png")
self.image = gtk.gdk.Pixmap(dr_area.window, img.get_width(), img.get_height())
self.image.draw_pixbuf(self.gc, img, 0, 0, 0, 0)
и выводит его на экран с помощью
dr_area.window.draw_drawable(self.gc, self.image, 0, 0, x, y, *self.image.get_size())
Вы действительно не генерируете достаточную исходную скорость / пропускную способность? Или вы просто видите мерцание?
Если последнее, Возможно, вам стоит вместо этого изучить двойную буферизацию для выполнения ваших обновлений? По сути, идея состоит в том, чтобы отрисовать невидимый буфер, а затем указать видеокарте использовать новый буфер.
Возможно, посмотрите эту страницу, на которой есть некоторая информация о двойной буферизации .
Возможно, стоит провести сравнительный анализ - если вы рисуете на небольшой площади, все равно это медленно?
Если да, возможно, стоит спросить в списках рассылки pygtk или gtk .. .