Недавно я переустановил PotPlayer и после установки LAV Filters + madVR заметил, что свежая установка PotPlayer стала заметно медленнее запускаться: главное окно появляется только примерно через 9 секунд; а локально сохранённая старая установка открывается почти мгновенно.
В этом посте я зафиксирую саму проблему, процесс устранения неполадок, в итоге найденную первопричину и реально рабочий способ исправления.
Симптомы
- Текущая новая установка PotPlayer x64: холодный старт до появления главного окна примерно
9.2s–9.6s - Локальная резервная копия старой установки: холодный старт примерно
0.65s–0.85s - Интуитивно сначала подозревал
LAV / madVR / плейлист / проверку сети / прокси, но в итоге это всё оказалось не первопричиной
Направления, которые я исключил первыми
Сначала я по очереди изолировал типичные внешние факторы:
- очистить или удалить пользовательскую конфигурацию PotPlayer
- очистить плейлист по умолчанию
- отключить автообновление и опции, связанные с браузером
- временно заблокировать PotPlayer доступ в интернет
- проверить прокси-подключение
- проверить, не является ли
LAV Splitter / LAV Video / LAV Audio / madVRпроблемой только в цепочке воспроизведения
Эти действия почти не улучшили время запуска, значит «тормоз» не на уровне этих настроек.
Ключевое обнаружение
Затем я по пунктам сравнил новую установку и локальный бэкап и выяснил, что реально отличается не PotPlayerMini64.exe, а основной DLL:
- Текущая установка:
PotPlayer64.dll 1.7.22777.0 - Резервная установка:
PotPlayer64.dll 1.7.22775.0 - хэш
PotPlayerMini64.exeс обеих сторон совпадает - хэш
PotPlayer64.dllс обеих сторон отличается - оба DLL имеют официальную подпись Kakao
То есть бэкап — не какой-то странный сторонний репак, это по‑прежнему официальные файлы, просто отличается младшая версия основного DLL.
Самый важный изолирующий тест
Я сделал очень прямой A/B‑тест:
- оставить один и тот же каталог установки и ту же конфигурацию без изменений
- измерить запуск на текущем
22777 - заменить только
PotPlayer64.dll - измерить ещё раз
- в конце вернуть
22777назад и измерить ещё раз
Результат получился очень чистым:
- базовый
22777:9510 ms - заменить только на
22775:771 ms - вернуть обратно
22777:9626 ms
Это практически «прибило» проблему к самому PotPlayer64.dll 1.7.22777.0, а не к каким-то другим факторам среды.
Чуть более точная локализация
Чтобы понять, «где именно внутри DLL тормозит», я дополнительно сделал сэмплирование потоков на старте и сравнение таймингов.
Наблюдения:
- старая версия примерно за
0.65sподнимает главное окно, и только потом начинает подключаться к локальному прокси - новая версия показывает главное окно лишь примерно через
9.17s, а сетевые действия происходят уже после появления окна - значит, это не «сначала зависает на сети», а «до появления окна тратит в своём процессе примерно 8 секунд»
Далее по сэмплированию «горячего» потока:
- во время запуска медленной версии основной затратный поток долго стоит на
PotPlayer64.dll + 0x1C1F2AE - этот оффсет находится в секции
.themidaвнутри PE - быстрая версия лишь быстро проходит защищённую область, после чего переходит к нормальной инициализации GUI
По совокупности признаков это больше похоже на регрессию производительности на ранней стадии защиты/инициализации в x64‑ядре DLL версии 1.7.22777, а не на проблему настроек функций плеера.
Здесь подчеркну: это инженерный вывод на основе реальных замеров и сэмплирования, а не «абсолютно доказанный итог» после получения исходников. Но доказательств уже достаточно, чтобы как минимум уверенно исключить LAV, madVR, плейлист или сетевые настройки.
Практический способ исправления
Для моей машины самый надёжный способ — не пытаться жёстко патчить закрытый DLL, а просто зафиксировать в текущей установке PotPlayer64.dll на официально подписанной версии 1.7.22775.0.
После этого повторные замеры запуска на текущей машине получаются примерно такие:
851 ms814 ms815 ms
То есть по сути возвращается «почти мгновенный старт».
Обратная связь наружу
Заодно я оформил результаты в публичные материалы и уже отправил письмо на корейском и английском на несколько публичных адресов Kakao — надеюсь, это попадёт к команде разработки или в релизный контур PotPlayer x64.
Публичные материалы:
- репозиторий GitHub: https://github.com/constansino/potplayer-x64-22777-startup-regression
- ссылка на PR: https://github.com/constansino/potplayer-x64-22777-startup-regression/pull/1
Вывод
Суть проблемы не в том, что «я сломал настройки PotPlayer», а в том, что:
- в
PotPlayer64.dll 1.7.22777.0есть регрессия запуска - откат на
1.7.22775.0стабильно возвращает скорость запуска LAV Filters + madVRне являются основной причиной
Если Kakao действительно исправит эту регрессию, я позже добавлю обновление.