Залипание клавиш во время игры

1. Описание проблемы, Что вы увидели.

Во время игры продолжается смещение корабля в какую-то определенную сторону, даже если отпустить все клавиши. Так же бывает, что производится стрельба, в то время как клавиша стрельбы в этот момент уже отпущена.
2. Что вы ожидали увидеть.

Ожидал увидеть полный контроль над игровой ситуацией
3. Условия воспроизведения.

Просто играть
4. Подробности.

Проблема была довольно редкая. Но с сегодняшним обновлением участилась, что и побудило создать тему. Подозреваю, что это как-то связано с ошибками типа:

WARNING| frame 162997 gameGlobals.frameTimeReal is too large (2.578753)
5. Частота возникновения.

Примерно 4-5 раз за бой.
6. Логи + Скрины (ниже изложено какие фаилы, где их взять, и в каком виде приложить)

7. Желательно время возникновения проблемы, в этом случае мы сможем более точно проверить логи сервера.

Время назвать не могу, т. к. писал тему в перерывах на время поиска боя. Но это встречается практически в каждом бое, записанном в логе

Подтверждаю, случается такая ситуация, но я считал что это проблема в моем железе или клаве , поэтому баг-репорт не оформлял.

Я замечал что это чаще всего происходит когда в замесе боя нажимаешь одновременно несколько клавиш (видимо больше чем нужно)

У меня часто случается такое в ОМ со стрейфом вниз.

После нескольких судорожных нажатий на кнопку, отвечающую за него - проходит.

хм… мы постоянно играем, но у нас на такое поведение не жаловались…

попробуем воспроизвести.

Скула1979 это та самая ‘гравитация’, корабль просто стрейфится в низ, однако двигатели коробля визуально не работают. Сбрасывается стрейфом вниз или вверх. Поищу видео в помойке, может найду.

У меня вчера стрейфился влево, а так же самопроизвольно стрелял (в разный момент времени). Стрельба залипает во время боя. Стрейфы, чаще всего, в момент респавна (хотя, быть может, это особо заметно сразу после респа)

Стрейфился вниз, а так же крутился -до вчерашнего патча, правда реже

У нас такого не бывает. Давайте искать условия, при которых подобное происходит.

Может все-таки клава? Тоже НИ РАЗУ не замечал.

А вот на старой PS/2 клавиатуре в других играх было что-то похожее.

Подтверждаю.

Клавиши залипают (по крайней мере) по одной во время сильных фризов и/или начале следующего раунда ПвЕ. Иногда это происходит с наличием потерь, иногда без.

Клавиши самые разные: и обычные (W A S D E Q) и управляющие (Ctrl Alt). Мышь тоже - ЛКМ, ПКМ.

С клавиатурой, мышью и системой всё в порядке - проверял при помощи утилиты xev.

Прояляется после последнего патча. До этого не сталкивался ни разу.

 

При поворотах в сторону большого количества ботов в ПвЕ фризы достигают 3-х секунд. Если включить пульсар в кучке ботов, то время фризов превышает время, когда корабль хоть как-то отзывается на управление.

Клавиши залипают (по крайней мере) по одной во время сильных фризов и/или начале следующего раунда ПвЕ. Иногда это происходит с наличием потерь, иногда без.

Может, это винда запоминает клавиши в стеке и отдает их пачкой после прохождения фриза?

 

Клавиши залипают (по крайней мере) по одной во время сильных фризов и/или начале следующего раунда ПвЕ. Иногда это происходит с наличием потерь, иногда без.

Может, это винда запоминает клавиши в стеке и отдает их пачкой после прохождения фриза?

 

У меня нет Windows уже 7-8 лет. На текущем компьютере её не было никогда.

Система поддерживается в идеальном порядке.

Железо периодически тестируется.

Эшкриг играет с линукса если мне память не изменяет.

А чо, никсы что ли не запомниают нажатые клавиши?

У меня такое бывает обычно после выхода из врат в ОМ.

Иногда - после вылета в ПвП. То есть, сразу после старта.

И сугубо вниз.

Лагов при этом не наблюдаю.

На двух разных компах.

В никсах активное приоожение имеет уровень реал тайм. Тоесть при нехватке ресурсов другие “ыоновые” процессы будут прирстановлены. Я одно время играл через интео хд 3000, и не смотря на граф лаги, клавиши действовали исправно.

А чо, никсы что ли не запомниают нажатые клавиши?

Скорее всего Xorg тоже буферизует события с устройств ввода, только приложение starconflict не обрабатывает именно освобождение клавиш.

 

P.S. В файле xorg-server-1.16.4/dix/getevents.c определена функция GetMaximumEventsNum() используемая для инициализации очереди событий ввода определённой длины. В Xorg-1.16.4 это значение - 100. Да, при переполнении очереди события будут потеряны, но длина очереди достаточно большая, а я не один раз сталкивался с “залипанием” на ровном месте посреди прохождения раунда ПвЕ. И да, такое поведение замечено только после последнего патча.

У нас такого не бывает. Давайте искать условия, при которых подобное происходит.

 

первое условие, которое приходит на ум, это микрофризы:

04:09:54.895 WARNING| frame 2224 gameGlobals.frameTimeReal is too large (1.025143)04:09:54.936 WARNING| frame 2225 gameGlobals.frameTimeReal is too large (0.825406)

они были раньше, но не в таких количествах как сейчас. И более частое залипание клавиш с возросшими фризами, против редкого залипания с редкими незаметными фризами, намекает, что возможно дело в этом.

 

К сожалению, пока фризов много, я не могу запустить чтение лога во время игры и сопоставить по времени фриз и залипание… Точнее запустить чтение могу, но просто не успею визуально сопоставить залипание с записью в логе…

 

По поводу того, почему это залипание происходит чаще в этих случаях:

 

У меня такое бывает обычно после выхода из врат в ОМ.

Иногда - после вылета в ПвП. То есть, сразу после старта.

 

у меня тоже есть предположение. К сожалению, логов игры до текущего патча у меня нет, что бы проверить гипотезу, но предполагаю, что вина в этих фризах. Обратите внимание, после загрузки локации мы всегда видим ворнинг (это linux клиент):

00:20:42.199 | ====== level started: 'levels/mainmenu/mainmenu' success ======00:20:43.196 WARNING| frame 144 gameGlobals.frameTimeReal is too large (0.990954)00:20:49.974 | ====== level started: 'levels/mainmenu/mm_jericho' success ======00:20:51.576 WARNING| frame 348 gameGlobals.frameTimeReal is too large (1.504340)00:20:59.003 | ====== level started: 'levels/area3/s1420_ceres3_northmsite' success ======00:21:03.560 WARNING| frame 464 gameGlobals.frameTimeReal is too large (4.470521)00:28:35.797 | ====== level started: 'levels/mainmenu/mm_jericho' success ======00:28:35.797 | Environment setting 'mm_jericho' loaded00:28:38.028 WARNING| frame 16032 gameGlobals.frameTimeReal is too large (2.191247)00:30:47.013 | ====== level started: 'levels/area2/da_prototype' success ======00:30:48.688 | client: ADD_PLAYER 2 (ARTGUK [sRS], 00014A00) status 4 team 100:30:48.817 WARNING| frame 20495 gameGlobals.frameTimeReal is too large (1.853411)

под wine виндовый клиент тоже делает микрофризы (но полноценно их присутствие могут подтвердить только windows-пользователи):

01:45:14.781 | ====== level started: 'levels/mainmenu/mainmenu' success ======01:45:15.091 WARNING| frame 85 gameGlobals.frameTimeReal is too large (0.197311)01:47:41.300 | ====== level started: 'levels\mainmenu\mm_jericho' success ======01:47:41.802 WARNING| frame 8783 gameGlobals.frameTimeReal is too large (0.439651)01:48:18.819 | ====== level started: 'levels\area1\s1338_pandora_anomaly' success ======01:48:18.975 WARNING| frame 10908 gameGlobals.frameTimeReal is too large (0.103842)01:51:42.595 | ====== level started: 'levels\mainmenu\mm_jericho' success ======01:51:42.802 WARNING| frame 22983 gameGlobals.frameTimeReal is too large (0.164618)01:54:19.763 | ====== level started: 'levels\open_world\jericho\jericho_isid_station' success ======01:54:19.996 WARNING| frame 28972 gameGlobals.frameTimeReal is too large (0.167921)01:55:20.213 | ====== level started: 'levels\open_world\jericho\jericho_isid_station_03' success ======01:55:20.219 | client: player 9 leave game01:55:20.517 WARNING| frame 32353 gameGlobals.frameTimeReal is too large (0.119967)02:05:49.062 | ====== level started: 'levels\open_world\jericho\jericho_isid_station' success ======02:05:49.301 WARNING| frame 67910 gameGlobals.frameTimeReal is too large (0.181073)02:07:19.706 | ====== level started: 'levels\mainmenu\mm_jericho' success ======02:07:19.785 WARNING| m_bufferizedUICalls delivery took 79.2 ms02:07:19.998 WARNING| frame 73230 gameGlobals.frameTimeReal is too large (0.118739)02:23:35.467 | ====== level started: 'levels\area2\s8256_thar_ancientcomplex' success ======02:23:35.467 | client: ADD_PLAYER 5 (Dearthsniper [CSA], 000744D4) status 4 team 202:23:35.467 | client: ADD_PLAYER 9 (magnum042, 001590A4) status 4 team 202:23:35.622 WARNING| frame 124831 gameGlobals.frameTimeReal is too large (0.103747)

проблема, казалось бы, редкая, но залипание клавиш тем не менее мешает: перегрев орудий, если вдруг не заметим автострельбу, выход из инвиза. Особо не приятны стрейфы - так как первое впечатление, что какие-то лаги с управлением идут, а потом, спустя время, замечаешь, что корабль стрейфится без твоего участия

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

М… забыл вчера отправить.

Случился стрейф вниз в самом начале боя в 22:01 по местному времени.

[2015.04.14 19.00.42.zip](< base_url >/applications/core/interface/file/attachment.php?id=151544)

Хм, у меня только “Ctrl” залипал, когда пытаешься растармошить клиент во время загрузки между вратами. Лечилось повторным нажатием.

 

Вообще это скорее всего происходит что при загрузке очень часто подвисает, и теряется не только драгоценное время. 

Тоже проблемы с управлением.

 

http://clip2net.com/s/3gSH85F

https://yadi.sk/i/zkWDIB-ogHk8Y

http://clip2net.com/s/3gSHBcs

 

При этом кода пинг был 126 - таких проблем не было