Потеря управления в эксклюзиве при перемотке [исправлено]

Автор usalex, 26 июня 2021, 12:41:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

usalex

Win 10 x64 LTSB 1607
Графика: NVIDIA GTX 1050Ti
(драйверы последние и несколько предыдущих)

Версия плеера: ---> х86 и х64, любой билд, начиная с 5696 (баг привнесен именно 5696-ым коммитом)

Как воспроизвести:
В настройках плеера включить опции: "Показать OSD " и "Показывать время после поиска".
Назначить на колесо мыши команды: "Переход вперед (средний)" и "Переход назад (средний)".
Запустить файл на просмотр в эксклюзиве и плавными многократными прокручиваниями колеса мыши перематывать файл вперед. Через некоторое время при очередном прокручивании плеер перестает отвечать на любые команды управления.
Ускорить вызов бага можно периодически вызывая таймлайн наведением курсора в низ экрана.

При отключении в настройках плеера опций: "Показать OSD " и "Показывать время после поиска" баг не воспроизводится.

Тип просматриваемого контента особого значения не имеет, но баг легче ловить на контенте 59.94fps.
Я тестирую на вот этом файле: https://rutracker.org/forum/viewtopic.php?t=6070060

V0lt

Ранее на рубоарде было упомянуто, что в свойствах EXE надо изменять какую-то опцию. Или не надо?

usalex

V0lt, на LTSB - не нужно (там даже нет такой галки).
На новых виндах - скорее всего, нужно.
В новых виндах по умолчанию работает эмуляция полноэкранного режима - даже скриншоты можно в эксклюзиве делать - получается не малевич, как на нормальном эксклюзиве, а полноценная картинка. Такая эмуляция - это по сути тот же самый оконный режим, а в оконном режиме бага нет, баг только в эксклюзиве.
Поэтому в новых виндах нужно в свойствах экзешника на вкладке "совместимость" поставить галочку: "Отключить оптимизацию для полного экрана".
Но я на новых виндах пока не тестил, и это - только моё предположение насчет отключения оптимизации полного экрана.

usalex

Для ускорения проявления бага крутить колесо мыши лучше так:

-- несколько (3-4) прокруток (на пол колеса) вперед и затем 1-2 прокрутки назад.
-- вызов таймлайна.

Этот цикл повторять до проявления бага.
У меня уходит минут 3-5, чтоб отловить. Но бывает, что почти сразу ловится.

Aleksoid1978

AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

usalex

Aleksoid1978
Баг не воспроизводится.
Но гонял не очень много - чуть менее часа.

Недостаток этого билда в том, что появились сильные лаги.
Заторможенная реакция плеера на команды. Например, у меня на RMB+Колесо назначено увеличение/уменьшение громкости. Кручу колесо, а громкость и счетчик громкости реагируют с запозданием. Вызов/скрытие таймлайна и флайбара также заторможен.
Эти тормоза - в эксклюзиве. В окне тормозов нет - всё мгновенно отрабатывает.

Aleksoid1978

#6
Цитата: usalex от 27 июня 2021, 14:46:24
Aleksoid1978
Баг не воспроизводится.
Но гонял не очень много - чуть менее часа.

Недостаток этого билда в том, что появились сильные лаги.
Заторможенная реакция плеера на команды. Например, у меня на RMB+Колесо назначено увеличение/уменьшение громкости. Кручу колесо, а громкость и счетчик громкости реагируют с запозданием. Вызов/скрытие таймлайна и флайбара также заторможен.
Эти тормоза - в эксклюзиве. В окне тормозов нет - всё мгновенно отрабатывает.

А сможешь заснять видео с этим "затормаживанием", чтобы хоть понять примерно что это и на сколько затормаживается ?

P.S. Проверил у себя - все отлично, никакого затормаживания.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

usalex

Aleksoid1978, сложно держать камеру и елозить мышкой одновременно.
Но вот маленький примерчик заторможенного таймлайна.
https://disk.yandex.ru/i/K15ywBmTeY3How

Aleksoid1978

Очень странно, даже ничего похожего у себя не наблюдаю. Отключил полноэкранную оптимизацию, проверял на EVR-CP в FSE режиме(правда на 2-ом экране, на телевизоре).
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Aleksoid1978

Вот щас эту версию поставил на постоянное пользование, проверяем - https://disk.yandex.ru/d/GaFHvVRjo4BmDA
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

usalex

Цитата: Aleksoid1978 от 27 июня 2021, 15:39:04
...проверял на EVR-CP в FSE режиме(правда на 2-ом экране, на телевизоре).
Я тоже с телевизора видео снимал :)
Но эти тормоза с тамлайном не постоянно, а примерно 50/50.
Но вот громкость всегда запаздывает относительно колеса мыши.

Щас немного доделаю кое-чего и начну твой второй тестовый билд гонять.
Спасибо!
Ты не думай, что я не понимаю, насколько тебе это действительно на фиг не надо.
Поэтому абсолютно не обижусь, если ты прекратишь попытки.
К тому же, если правильно понимаю, тебе так и не удалось воспроизвести баг, а чинить вслепую это...

usalex

Цитата: Aleksoid1978 от 27 июня 2021, 15:43:43
Вот щас эту версию поставил на постоянное пользование, проверяем - https://disk.yandex.ru/d/GaFHvVRjo4BmDA
Поведение такое же, как и у предыдущего.
Пока, наверное, можно оставить так.
Главное, что теперь не ловится баг потери управления.
СПАСИБО!

usalex

#12
В общем... разобрался откуда ноги растут у этого "бага".
Всё дело в HPET - высокоточном таймере событий.

Если он включен - бага нет ни на каких билдах.
Если он выключен - баг есть на билдах с 5696 по 6317 включительно.

Причем отключение HPET через диспетчер устройств ваще не роялит. Отключать нужно командами:
bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes

Обидно, вах.

С включенным таймером винда - тормоз.
Проводник тормозит, запуск программ долгий, в тесте "Спидометр 2.0" набираю 93 очка против 114 с выключенным таймером.

А с выключенным таймером винда резко оживает, в плеере баг не проявляется после починки в 6318 -- это гуд. Но зато гадкие задержки на действия (о них я выше говорил).

P.S. Это всё касательно винды LTSB
Пробовал вкл/выкл таймер на Win11 --  вообще никакой разницы (возможно, это из-за того, что 11 у меня на VHD).

Aleksoid1978

Что это за винда такая, какой то там таймер ...
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

#14
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