Приветствую.
Нужно из списка файлов вычленить все те, которые поддерживаются GdkPixbuf. Сейчас для этого используется функция gtk.gdk.get_file_info() (в сишной библиотеке это gdk_pixbuf_get_file_info()). Все работает неплохо, но построение списка (GtkListStore) из ~700 файлов занимает порядка 3-4 секунд и это еще без загрузки thumbnail'ов, в общем долго. Как я понял это связано с тем, что gtk.gdk.get_file_info() читает кусок каждого файла, что в принципе неплохо, так как при этом получается куча полезной информации вроде размеров картинки, но первоначальное построение списка хотелось бы ускорить.
Поэтому второй мыслью было получить список расширений поддерживаемых типов файлов, из функции gtk.gdk.pixbuf_get_formats() (gdk_pixbuf_get_formats()), и уже по ним отсеивать файлы. Казалось бы хорошо, но эта функция, как я понял, возвращает только информацию о форматах, поддержка которых вкомпилена в GTK. Кроме них же, еще есть возможность использования внешних загрузчиков. Например такие загрузчики предоставляет libopenraw и libwmf.
В общем как еще можно выполнить задачу поставленную в SUBJ?