PictureView 3 — просмотр изображений различных форматов
PictureView 3 — просмотр изображений различных форматов
В этой теме обсуждается плагин PictureView 3.
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.
Дальнейшее развитие версии 1.5, переделано под API Far 3.0.
Об извлечении плагинов из дистрибутивов ACDSee.
PS: API как было убогим в Far 2, так и осталось...
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.
Дальнейшее развитие версии 1.5, переделано под API Far 3.0.
Об извлечении плагинов из дистрибутивов ACDSee.
PS: API как было убогим в Far 2, так и осталось...
- Attachments
-
- PictureView3_20140813_last_xp.7z
- Последняя версия, работающая на WinXP
- (321.22 KiB) Downloaded 1236 times
PictureView 3 — просмотр изображений различных форматов
Latest post of the previous page:
Да, есть такое, в PV вызывался CoUninitialize при не успешном CoInitializeEx. В следующей версии будет исправлено.Но в данном случае – это была очень полезная ошибка, так как иначе вот это прошло бы тихо:
Какая прекрасная идея: "вроде бы так правильнее"! А что должны сделать плагины? Как им понять, что теперь COM работает по-другому?drkns 02.09.2019 21:09:11 +0100 - build 5463
1. Инициализируем COM как multithreaded, вроде бы так правильнее в нашем случае.
EDIT:
Ну и MSDN говорит, что
Because OLE technologies are not thread-safe, the OleInitialize function calls CoInitializeEx with the COINIT_APARTMENTTHREADED flag. As a result, an apartment that is initialized for multithreaded object concurrency cannot use the features enabled by OleInitialize.
Так что в плагинах ещё что-то может принципиально отвалиться, если они теперь обязаны жить в COINIT_MULTITHREADED.Applications that use the following functionality must call OleInitialize before calling any other function in the COM library:
- Clipboard
- Drag and Drop
- Object linking and embedding (OLE)
Last edited by SEt on Sat 07 Sep, 2019 23:30, edited 2 times in total.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
PictureView 3 — просмотр изображений различных форматов
Плагины не должны строить предположения и зависеть от состояния по умолчанию.
Вы не можете предполагать, что COM инициализиован.
Вы не можете предполагать, что COM не инициализиован.
Вы не можете предполагать, что COM инициализирован как multithreaded.
Вы не можете предполагать, что COM инициализирован как не multithreaded.
Почему?
Потому что плагинов - легион.
Представьте, что фар вообще не трогает COM (раньше так и было).
Любой другой плагин может быть вызван до вас и сделать по-другому.
Любой shell extension, загруженный EMenu до вас, может сделать по-другому.
Это не сейчас изменилось, это всегда так было.
Пример "как понять" - в предыдущем сообщении.Как им понять, что теперь COM работает по-другому?
Если режим вам безразличен - отлично.
Если принипиально надо апартмент - всегда можно создать новый тред и инициализировать его там.
PictureView 3 — просмотр изображений различных форматов
Не было этого всегда. Вот специально проверил на довольно старой версии Far3 без плагинов: COM инициализирован в COINIT_APARTMENTTHREADED, то есть кто-то там случайно изменить это не мог.
Мне то без разницы – легко перекомпилировать.
А вот зачем потребовалось изменять это в Far'е и потенциально ломать плагины – не ясно. Не всё можно пересобрать.
PictureView 3 — просмотр изображений различных форматов
Новая версия:
- Полная поддержка увеличения изображений методом ближайшего соседа.
- Новый декодер на основе libtiff.
- Обновлены многие декодеры.
PictureView 3 — просмотр изображений различных форматов
Microsoft Windows [Version 6.1.7601]
GeForce GT 630
Far Manager v3.0.0.5454
PictureView v3.2019.9.10
Вместо любых JPG картинок показывает серый прямоугольник.
PNG, GIF, WDP работают нормально.
Замена JpegRec.pvd на предшествовавшую версию проблему решило.
Прошу разобраться в чем может быть причина такого поведения JpegRec.pvd в новой версии.
GeForce GT 630
Far Manager v3.0.0.5454
PictureView v3.2019.9.10
Вместо любых JPG картинок показывает серый прямоугольник.
PNG, GIF, WDP работают нормально.
Замена JpegRec.pvd на предшествовавшую версию проблему решило.
Прошу разобраться в чем может быть причина такого поведения JpegRec.pvd в новой версии.
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
PictureView 3 — просмотр изображений различных форматов
У меня на Nvidia GeForce GT 640 всё нормально. Windows 8.1 x64, Far 3.0.0.5470 x86, PictureView v3.2019.9.10.
Проверьте на сайте Nvidia, свежие ли у вас драйверы.
Фар есть инструмент, а не нянька. © 2009 DrKnS
PictureView 3 — просмотр изображений различных форматов
Драйверы 391.35 и согласно https://www.geforce.com/drivers это самые актуальные для моей конфигурации.
Еще раз подчеркну что предыдущий JpegRec.pvd работает отлично в точно тех же условиях, в которых новый - нет.
Last edited by pukan1 on Tue 10 Sep, 2019 23:31, edited 1 time in total.
-
- Posts: 436
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
PictureView 3 — просмотр изображений различных форматов
Win 10 Pro x64, Far x64 3.0.0.5472, GeForce 1030, дрова 430-е. Серые прямоугольники на JpegRec
-
- Posts: 436
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
PictureView 3 — просмотр изображений различных форматов
Обновил дрова до вчерашних 436.30 - ничего не изменилось. Снес настройки плагина (SQLite) - ничего не изменилось.
PictureView 3 — просмотр изображений различных форматов
Win 7 SP1 x64, Far x64 3.0.0.5472, Intel(R) HD Graphics 4600 (драйвер 14.12.2017) - Работает.
Win 7 SP1 x64, Far x64 3.0.0.5472, GeForce 1080 (драйвер 436.30) - Работает.
Win 7 SP1 x64, Far x64 3.0.0.5472, GeForce 1080 (драйвер 436.30) - Работает.
Last edited by DVall on Wed 11 Sep, 2019 16:30, edited 2 times in total.
PictureView 3 — просмотр изображений различных форматов
Это не драйвера.
Единственное крупное изменение с JpegRec – эта версия собрана Clang, а предыдущие ICC.
Вот, попробуйте пересобранную в ICC (хоть и другой версии) x86:
Единственное крупное изменение с JpegRec – эта версия собрана Clang, а предыдущие ICC.
Вот, попробуйте пересобранную в ICC (хоть и другой версии) x86:
Last edited by HaRT on Wed 11 Sep, 2019 17:34, edited 1 time in total.
Reason: Добавлено предупреждение
Reason: Добавлено предупреждение
PictureView 3 — просмотр изображений различных форматов
Так и знал, что кто-то захочет x64... Вот, смотрите: