FWGS / xash3d-fwgs

Xash3D FWGS engine
1.57k stars 236 forks source link

Редкое подвисание на 5 секунд при запуске после "Joystick: SDL GameController API" #1803

Open Aynekko opened 2 months ago

Aynekko commented 2 months ago

Очень редко, но бывает зависание на 3-5 секунд при старте движка. В консоли висит строчка Joystick: SDL GameController API. Наверное, выгружается из оперативки или еще что-то. Джойстика у меня нет. Если это нормальное поведение, просьба закрыть ишшуй.

a1batross commented 2 months ago

Будет ли подвисать если запускать с параметром -noenginejoy?

Aynekko commented 2 months ago

Потестирую в течение недели, отпишусь. На данный момент строчка "Joystick: SDL GameController API" пропала с этим параметром.

a1batross commented 2 months ago

Да, с ним встроенная поддержка геймпадов не активируется вообще.

Aynekko commented 2 months ago

Перечитал свое первое сообщение и наверное я не совсем правильно выразился. Подвисает на 3-5 секунд и далее движок загружается в обычном режиме. Просто увеличивается время загрузки, а не виснет намертво.

a1batross commented 2 months ago

Я понял, да. Между строчкой про геймпад и Touch_Init как раз инициализация подсистемы геймпадов в SDL2.

a1batross commented 2 months ago

Поэтому чтобы быть уверенным что это где-то у нас или в SDL2 ошибка, я и попросил попробовать с -noenginejoy

Vladislav4KZ commented 2 months ago

У меня нет зависаний на строчке Joystick: SDL GameController API. И не замечал раньше.

Проверял в Half-Life 25th anniversary update с оригинальными client.dll и hl.dll

Движок запускаю с аргументами -dev 2 -log

Проверял на: Xash3D FWGS v49/0.21 Номер сборки: 3431 Тип сборки: win32-i386 Коммит: https://github.com/FWGS/xash3d-fwgs/commit/57774315774ef646951ec3e67d2171e36a3590a9 Ветка: master

ОС: Windows 10 Pro x64 22H2 Номер сборки ОС: 19045.4780

Aynekko commented 2 months ago

Вроде бы больше подвисаний не было.

a1batross commented 2 months ago

Я вполне могу предположить что SDL2 где-то подвисает при доступе к системным API и перечислении подключенных геймпадов, опроса драйверов и так далее.

Асинхронно бы это как-то делать.