История изменений
Исправление mittorn, (текущая версия) :
Прошу прощения за некропостинг, сейчас снова поднял этот вопрос. Как выяснилось, из готовых загрузчиков изображений инкрементальная загрузка (но при этом без multiscan) сейчас реализована только в gdk-pixbuf. Даже в imlib2 не сделали, хотя там даже есть какая-то поддержка прогрессивной загрузки, но не инкрементальной. gqview даже динамически пытается подстраивать количество считываемых данных. Так же gqview передаёт в gdk-pixbuf размер желаемого изображения (jpeg умеет деноминаторы разрешения от 2 до 8)
При этом multi-scan mode я пока вообще нигде не видел из опенсорсного софта несмотря на то, что он реализован и дркументирован в libjpeg-turbo.
Интерфейс gdk-pixbuf оптимизирован для динамической загрузки и через коллбэки сообщает размер изображения (когда он становится известным) и новые порции картинки.
Как я понял, в simple-gl-viewer интерфейс загрузчиков изображений пока что инкрементальный режим не умеет. Есть ли смысл его дрбавлять? Это потребует переделать все декодеры.
Так же мне пока не совсем понятно, как лучше организовать декодирование в отдельном потоке. Очевидно, чтение может блокироваться и делать всё как в старых просмотрщиках в основном потоке - не самый эффективный способ. Но и обновлять кусок opengl текстуры из другого потока не совсем удобно - даже при использовании PBO делать TexSubImage будет основной.
Можно попытаться задействовать gbm или shared context, но возможно это будет что-то непортабельное
Исходная версия mittorn, :
Прошу прощения за некропостинг, сейчас снова поднял этот вопрос. Как выяснилось, из готовых загрузчиков изображений инкрементальная загрузка (но при этом без multiscan) сейчас реализована только в gdk-pixbuf. Даже в imlib2 не сделали, хотя там даже есть какая-то поддержка прогрессивной загрузки, но не инкрементальной. gqview даже динамически пытается подстраивать количество считываемых данных. Так же gqview передаёт в gdk-pixbuf размер желаемого изображения (jpeg умеет деноминаторы разрешения от 2 до 8)
При этом multi-scan mode я пока вообще нигде не видел из опенсорсного софта несмотря на то, что он реализован и дркументирован в libjpeg-turbo.
Интерфейс gdk-pixbuf оптимизирован для динамической загрузки и через коллбэки сообщает размер изображения (когда он становится известным) и новые порции картинки.
Как я понял, в simple-gl-viewer интерфейс загрузчиков изображений пока что инкрементальный режим не умеет. Есть ли смысл его дрбавлять? Это потребует переделать все декодеры.
Так же мне пока не совсем понятно, как лучше организовать декодирование в отдельном потоке. Очевидно, чтение может блокироваться и делать всё как в старых просмотрщиках в основном потоке - не самый эффективный способ. Но и обновлять кусок opengl текстуры из другого потока не совсем удобно - даже при использовании PBO делать TexSubImage будет основной