Win 10 x64 LTSB 1607
Графика: NVIDIA GTX 1050Ti
(драйверы последние и несколько предыдущих)
Версия плеера: ---> х86 и х64, любой билд, начиная с 5696 (баг привнесен именно 5696-ым коммитом)
Как воспроизвести:
В настройках плеера включить опции: "Показать OSD " и "Показывать время после поиска".
Назначить на колесо мыши команды: "Переход вперед (средний)" и "Переход назад (средний)".
Запустить файл на просмотр в эксклюзиве и плавными многократными прокручиваниями колеса мыши перематывать файл вперед. Через некоторое время при очередном прокручивании плеер перестает отвечать на любые команды управления.
Ускорить вызов бага можно периодически вызывая таймлайн наведением курсора в низ экрана.
При отключении в настройках плеера опций: "Показать OSD " и "Показывать время после поиска" баг не воспроизводится.
Тип просматриваемого контента особого значения не имеет, но баг легче ловить на контенте 59.94fps.
Я тестирую на вот этом файле: https://rutracker.org/forum/viewtopic.php?t=6070060
Ранее на рубоарде было упомянуто, что в свойствах EXE надо изменять какую-то опцию. Или не надо?
V0lt, на LTSB - не нужно (там даже нет такой галки).
На новых виндах - скорее всего, нужно.
В новых виндах по умолчанию работает эмуляция полноэкранного режима - даже скриншоты можно в эксклюзиве делать - получается не малевич, как на нормальном эксклюзиве, а полноценная картинка. Такая эмуляция - это по сути тот же самый оконный режим, а в оконном режиме бага нет, баг только в эксклюзиве.
Поэтому в новых виндах нужно в свойствах экзешника на вкладке "совместимость" поставить галочку: "Отключить оптимизацию для полного экрана".
Но я на новых виндах пока не тестил, и это - только моё предположение насчет отключения оптимизации полного экрана.
Для ускорения проявления бага крутить колесо мыши лучше так:
-- несколько (3-4) прокруток (на пол колеса) вперед и затем 1-2 прокрутки назад.
-- вызов таймлайна.
Этот цикл повторять до проявления бага.
У меня уходит минут 3-5, чтоб отловить. Но бывает, что почти сразу ловится.
Вот пробуем - https://disk.yandex.ru/d/F_veHAMh6X0FVg
Aleksoid1978
Баг не воспроизводится.
Но гонял не очень много - чуть менее часа.
Недостаток этого билда в том, что появились сильные лаги.
Заторможенная реакция плеера на команды. Например, у меня на RMB+Колесо назначено увеличение/уменьшение громкости. Кручу колесо, а громкость и счетчик громкости реагируют с запозданием. Вызов/скрытие таймлайна и флайбара также заторможен.
Эти тормоза - в эксклюзиве. В окне тормозов нет - всё мгновенно отрабатывает.
Цитата: usalex от 27 июня 2021, 14:46:24
Aleksoid1978
Баг не воспроизводится.
Но гонял не очень много - чуть менее часа.
Недостаток этого билда в том, что появились сильные лаги.
Заторможенная реакция плеера на команды. Например, у меня на RMB+Колесо назначено увеличение/уменьшение громкости. Кручу колесо, а громкость и счетчик громкости реагируют с запозданием. Вызов/скрытие таймлайна и флайбара также заторможен.
Эти тормоза - в эксклюзиве. В окне тормозов нет - всё мгновенно отрабатывает.
А сможешь заснять видео с этим "затормаживанием", чтобы хоть понять примерно что это и на сколько затормаживается ?
P.S. Проверил у себя - все отлично, никакого затормаживания.
Aleksoid1978, сложно держать камеру и елозить мышкой одновременно.
Но вот маленький примерчик заторможенного таймлайна.
https://disk.yandex.ru/i/K15ywBmTeY3How
Очень странно, даже ничего похожего у себя не наблюдаю. Отключил полноэкранную оптимизацию, проверял на EVR-CP в FSE режиме(правда на 2-ом экране, на телевизоре).
Вот щас эту версию поставил на постоянное пользование, проверяем - https://disk.yandex.ru/d/GaFHvVRjo4BmDA
Цитата: Aleksoid1978 от 27 июня 2021, 15:39:04
...проверял на EVR-CP в FSE режиме(правда на 2-ом экране, на телевизоре).
Я тоже с телевизора видео снимал :)
Но эти тормоза с тамлайном не постоянно, а примерно 50/50.
Но вот громкость всегда запаздывает относительно колеса мыши.
Щас немного доделаю кое-чего и начну твой второй тестовый билд гонять.
Спасибо!
Ты не думай, что я не понимаю, насколько тебе это действительно на фиг не надо.
Поэтому абсолютно не обижусь, если ты прекратишь попытки.
К тому же, если правильно понимаю, тебе так и не удалось воспроизвести баг, а чинить вслепую это...
Цитата: Aleksoid1978 от 27 июня 2021, 15:43:43
Вот щас эту версию поставил на постоянное пользование, проверяем - https://disk.yandex.ru/d/GaFHvVRjo4BmDA
Поведение такое же, как и у предыдущего.
Пока, наверное, можно оставить так.
Главное, что теперь не ловится баг потери управления.
СПАСИБО!
В общем... разобрался откуда ноги растут у этого "бага".
Всё дело в HPET - высокоточном таймере событий.
Если он включен - бага нет ни на каких билдах.
Если он выключен - баг есть на билдах с 5696 по 6317 включительно.
Причем отключение HPET через диспетчер устройств ваще не роялит. Отключать нужно командами:
bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes
Обидно, вах.
С включенным таймером винда - тормоз.
Проводник тормозит, запуск программ долгий, в тесте "Спидометр 2.0" набираю 93 очка против 114 с выключенным таймером.
А с выключенным таймером винда резко оживает, в плеере баг не проявляется после починки в 6318 -- это гуд. Но зато гадкие задержки на действия (о них я выше говорил).
P.S. Это всё касательно винды LTSB
Пробовал вкл/выкл таймер на Win11 -- вообще никакой разницы (возможно, это из-за того, что 11 у меня на VHD).
Что это за винда такая, какой то там таймер ...
https://docs.microsoft.com/en-us/windows/win32/sysinfo/acquiring-high-resolution-time-stamps
ЦитироватьHPET Timer
The High Precision Event Timer (HPET) was developed jointly by Intel and Microsoft to meet the timing requirements of multimedia and other time-sensitive applications. HPET support has been in Windows since Windows Vista, and Windows 7 and Windows 8 Hardware Logo certification requires HPET support in the hardware platform.
В общем юзер своими действиями влияет на работу QueryPerformanceCounter из-за чего получает проблемы.
Еще - High Precision Event Timer (https://en.wikipedia.org/wiki/High_Precision_Event_Timer)
Цитата: V0lt от 03 июля 2021, 10:26:28В общем юзер своими действиями влияет на работу QueryPerformanceCounter из-за чего получает проблемы.
Проблема только одна - это OSD в mpc-be.
Все остальные приложения (включая OSD в Pot-player) работают отлично.
1 - Такое только у тебя, виной том твоя LTSB винда или какие-то твики, или еще что-то.
2 - Никто не запрещает пользоваться тем, где нет никаких проблем.
Aleksoid1978, да я никого и ни в чем не виню :)
Просто странно, что твик влияет только на mpc-be и только на эксклюзив и только на EVR-CP (на MPCVR в эксклюзиве всё в порядке).
В общем, решил проблему тормозов OSD.
Дело было в некорректном способе отключения HPTE.
Отключил его правильным методом и теперь не тормозит ни винда ни OSD.
Цитата: usalex от 04 июля 2021, 02:02:06
В общем, решил проблему тормозов OSD.
Дело было в некорректном способе отключения HPTE.
Отключил его правильным методом и теперь не тормозит ни винда ни OSD.
Возникла проблема. Перерыл весь интернет, прочитал половину StackOverflow, просмотрел сотню тупых видео-инструкций. Все тщетно. Наконец, на одном из форумов в архиве интернета нашел похожую тему, которую сам создал по молодости и забыл. В конце темы вижу свое сообщение "Всем спасибо. Решил проблему сам". #@$%^@$#&^!!!
V0lt, не злись.
Я действовал по ситуации.
Была проблема, но не было понимания откуда она взялась.
Теперь проблема, вроде, решена.
Всё было честно.
Тебе и Aleksoid1978 - большое спасибо.
Но извиняться мне не за что.
usalex
Я к тому, что если упомянут "правильный метод отключения HPTE", то его очень желательно описать или дать ссылку, где он подробно описан.
V0lt, корректно отключать HPET нужно так:
в консоли от Админа:
bcdedit /set useplatformtick false
bcdedit /set useplatformclock false
bcdedit /set disabledynamictick true
bcdedit /set tscsyncpolicy Enhanced
(ну и ещё можно отключить "Высокоточный таймер" в Диспетчере устройств на всякий)
Метод нашел вот тут:
https://eu.forums.blizzard.com/ru/overwatch/t/падение-падение-времени-кадра-лаги-с-сим/13891/35 (https://eu.forums.blizzard.com/ru/overwatch/t/%D0%BF%D0%B0%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8-%D0%BA%D0%B0%D0%B4%D1%80%D0%B0-%D0%BB%D0%B0%D0%B3%D0%B8-%D1%81-%D1%81%D0%B8%D0%BC/13891/35)
В тырнете много статей, в которых советуют отключать так:
bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes
Но трабла с задержкой всплытия/скрытия таймлайна и замедленная реакция на изменение громкости колесом была как раз из-за bcdedit /deletevalue useplatformclock
Так что... полностью удалять параметр НЕЛЬЗЯ.
P.S. в некоторых BIOS (в основном - в старых) есть настройка для вкл/откл HPET (в моем BIOS её нет).
Вот интересно, что я делаю не так уже как минимум пару десятилетий с копейками, что никогда не трогал данные "опции" и все работало как надо ?
Aleksoid1978, если все устраивает, значит все делаешь правильно. :)
Скачал по ссылке (https://www.overclockers.at/articles/the-hpet-bug-what-it-is-and-what-it-isnt) TimerBench 1.5.
Дома, на работе, на ноутбуке прога пишет - QPC mode: Invariant TSC.
Win7 x64, Win8.1 x64, Win10 x64.
В общем у себя HPET не обнаруживаю.
V0lt, а я вообще не запускал этот тест.
У меня и так невооруженным глазом видна разница между включенным и выключенным HPET.