GTK+

GTK+ プログラミングに関する tips など。

GtkTreeView

GtkTreeStore

GtkTreeStoreに大量の行(数千〜)を追加する場合は、 gtk_tree_store_append()よりgtk_tree_store_prepend()を使用するほうが 圧倒的に高速である。

appendする場合は内部のリストを先頭から順に辿っていき、 追加する場所を探すという動作を行っているために O(n^2)のオーダーで処理量が増加していくためである。

また、GtkTreeStoreをクリアしたり大量の行を追加したりする場合は、

gtk_tree_view_set_model(tree_view, NULL);

として一度modelをviewから切り離し、処理が完了してから再びviewに modelを設定するほうが1.5倍程度高速になる。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS