1
139 cols * 121行のイメージマップを表示します。gtk.IconViewでイメージの読み込みを高速化します。
(画像サイズは32×32ピクセルである)
私はこのように、私はgtk.gdk.Pixbuf
で満たさgtk.ListStore
とgtk.Iconview
を使用:
(二次元リストは、画像を含むオブジェクトが含まれてい表示するパス)
pixbuf_passage = gtk.gdk.pixbuf_new_from_xpm_data(xpmdata)
for row in graph :
for col in row :
pixbuf = gtk.gdk.pixbuf_new_from_file(col.img_base)
if col.passage :
pixbuf_passage.composite(pixbuf, 0, 0, pixbuf_passage.props.width, pixbuf_passage.props.height, 0, 0, 1.0, 1.0, gtk.gdk.INTERP_BILINEAR, 255)
self.grid.listStore.append([pixbuf, tooltip])
私の問題は、画像のロード時間は、コンピュータの構成に応じて、かなり長くなることができるということです。
(長すぎる)(可)の4Gb RAMを搭載したIntelのCore i7のための人の- 〜20代の4Gb RAMを搭載したAMDのX2 4200+のための
- 〜160S
どのような方法があります画像の読み込みを高速化するには? gtk.Iconviewの使用はおそらく最適ではありませんか?
おかげ
PyGTK FAQに[関連するディスカッション](http://faq.pygtk.org/index.py?req=show&file=faq13.043.htp)があります。それが役に立たない場合は、おそらく何らかのオンデマンドローディング(IIRC Rhythmbox(またはそれはBansheeでしたか?))を実装することができますが、それは簡単ではないと思います。 –
使用しているGTKのバージョンは?どのプラットフォームですか? – liberforce
@ liberforce:Linux(x64)では2.24.0バージョンのPyGTKと2.24.8バージョンのGTKを使用しますが、ウィンドウにも同じ効果があります。 –