Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 December 06

SS

Slava Sokolovsky in RU Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
Последнюю актуальную позицию мышки. 16 мс задержки заметить это я не знаю кем надо быть
Так за 16мс не один эвент приходит. Вот представь резкий мах мышью. За секунду там может быть по 100 эвентов ч изменениями позиции
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Slava Sokolovsky
Так за 16мс не один эвент приходит. Вот представь резкий мах мышью. За секунду там может быть по 100 эвентов ч изменениями позиции
Почему это важно? Они всё равно хендлятся мгновенно по сравнению с отрисовкой.
источник

SS

Slava Sokolovsky in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Почему это важно? Они всё равно хендлятся мгновенно по сравнению с отрисовкой.
Не совсем мгновенно. Задержка связана с удалением эвентов из очереди.
+ с низким фреймрейтом будет подлагивать
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Slava Sokolovsky
Не совсем мгновенно. Задержка связана с удалением эвентов из очереди.
+ с низким фреймрейтом будет подлагивать
Задержка связана с тем, что после того как ты удалил и обработал все ивенты в очереди за 100 микросекунд, ты затем ждёшь ещё 16000 микросекунд чтоб оно отрисовалось.
источник

SS

Slava Sokolovsky in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Задержка связана с тем, что после того как ты удалил и обработал все ивенты в очереди за 100 микросекунд, ты затем ждёшь ещё 16000 микросекунд чтоб оно отрисовалось.
А, ведь да. В опенгл даже какая-то команда была, которая блокировала поток до окончания отрисовки
источник

SS

Slava Sokolovsky in RU Rust GameDev — русскоговорящее сообщество
glFinish вроде
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Эти 100 ивентов на мышку это вообще ничто. Скажем, на каждый ивент приходится 50 байт, сто раз это будет 5КБ. Как быстро твоя вычислительная машина справится с пятью килобайтами? Я думаю быстро.
источник

SS

Slava Sokolovsky in RU Rust GameDev — русскоговорящее сообщество
Вообще, эти эвенты обычно обрабатывают отдельным потоком. В потоке с логикой, где обрабатывается физика и прочее. Рендер это отдельно, это как-то "сверху"
источник

AI

Alex Ilizarov in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Не будет, конечно. Лаг ведь не там, где ты реагируешь на инпут, а там, где ты отрисовываешь результат применения инпута.
В сетевых играх важен еще нетворк инпут, так что отрисовочка это не обязательно самое главное
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
._____.
источник

УМ

Убийца Мамонтов... in RU Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
Последнюю актуальную позицию мышки. 16 мс задержки заметить это я не знаю кем надо быть
ток вроде не 16мс а от 0 до 16мс (раз потоки разные)
источник

УМ

Убийца Мамонтов... in RU Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
Но ведь можно было инпут и прочее подобное в отдельном от рендера потоке ворочать
вот я тоже думаю, мне казалось, что инпут по дефолту везде в отдельном потоке вертится
источник

AI

Alex Ilizarov in RU Rust GameDev — русскоговорящее сообщество
Условно говоря ты видишь то что противник там, знаешь куда он пойдет, инстинктивно дернул мышку и стрельнул
источник

ВМ

Виталий Медоваров... in RU Rust GameDev — русскоговорящее сообщество
Убийца Мамонтов
ток вроде не 16мс а от 0 до 16мс (раз потоки разные)
Да, про что-то такое и писал
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Alex Ilizarov
Условно говоря ты видишь то что противник там, знаешь куда он пойдет, инстинктивно дернул мышку и стрельнул
Главное что б при попадании в противника в то место, где твой клиентский предикшн показал его, это и на сервере засчитывалось за попадание. Даже если противник немного не там
источник

AI

Alex Ilizarov in RU Rust GameDev — русскоговорящее сообщество
Roman
Главное что б при попадании в противника в то место, где твой клиентский предикшн показал его, это и на сервере засчитывалось за попадание. Даже если противник немного не там
Это ничем не отличается от обычной ситуации, тут просто еще его не отрисовало там где надо
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Суть в том что в шутере ты стреляешь туда где нарисовано
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
И при точном выстреле должно быть не важно, что он нарисован был неправильно
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Конечно до некоторого предела
источник