我有一个图像/ pixbuf,我想绘制到gtk.DrawingArea中并频繁刷新,所以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 2009-06-06 21:13:22