Войти
ПрограммированиеФорумГрафика

InputLag. Как бороться?

Страницы: 1 2 Следующая »
#0
(Правка: 7:23) 7:22, 14 окт. 2018

Замерил время кадра(dt). Посчитал FPS = 1.0f / dt. FPS = 120, но лагает безбожно. Высокий InputLag. Проц не загружен


#1
9:10, 14 окт. 2018

IBets
загрузи проц, будет хоть не так обидно что лагает

#2
9:47, 14 окт. 2018

https://habr.com/post/308980/

#3
(Правка: 10:06) 10:04, 14 окт. 2018

Шурик в статье , а особенно в коментах разошелся не на шутку ! :)
Но статья интересная.

Спасибо Шурик.

PS: Разработка игр,Delphi ?! MrShoor ты же писал что ты не понимаешь Дельфи и не пишешь на нем !

#4
10:13, 14 окт. 2018

Обнаружил проблему. Я юзаю DirectX::Mouse. Так вот я такой поэкспериментировать решил и убрал из кода m_pMouse->SetWindow(m_pWindow-GetHwnd()). Все заработало как надо

#5
(Правка: 10:42) 10:15, 14 окт. 2018

А я скачал тест InputLagDemo.exe
Запустил и не увидил разницы во всех режимах.
Загрузил GPU что бы FPS был 7.
И делал что бы FPS был 168 и тоже ни какой разницы.

АМД HD 7950 Win 7 Проц Intel I5 2320 4 ядра физических.

#6
18:36, 14 окт. 2018

ronniko
> MrShoor ты же писал что ты не понимаешь Дельфи и не пишешь на нем !
Тебе это приснилось.

#7
19:54, 14 окт. 2018

MrShoor
Ты же про, но почему ты пишешь не на крестах?

#8
20:07, 14 окт. 2018

IBets
Может потому, что человеку больше нравится Lazarus?

Я бы тоже хотел попробовать Lazarus, но меня жутко бесит, что IDE разделена на разные окна.

#9
20:50, 14 окт. 2018

Запощу классику: https://danluu.com/latency-mitigation/ .

#10
0:49, 15 окт. 2018

Vlad2001_MFS
> Я бы тоже хотел попробовать Lazarus, но меня жутко бесит, что IDE разделена на разные окна.
Можно настроить и по другому. Там докинг есть.

#11
1:06, 15 окт. 2018

Vlad2001_MFS
> Я бы тоже хотел попробовать Lazarus, но меня жутко бесит, что IDE разделена на
> разные окна.
Там все есть. Пользуюсь лазарусом в одном окне.

#12
2:46, 15 окт. 2018

Встречался с этим дерьмом ещё играя на GeForce 2 MX под Windows 98. В некоторых местах в шутерах вдруг начинала дико лагать мышь.
Решал переключением на диспетчер задач (тоже целый квест в ОСи того времени) и установкой процессу игры пониженного приоритета.

Сам собирался у себя в движке устраивать безжалостную синхронизацию CPU и GPU каждый кадр посредством glReadPixels из нескольких случайно выбранных мест фреймбуфера, просто пока не достроил до этой стадии.

Описал тему статьи с хабра на англоязычнный форум https://www.pascalgamedevelopment.com/showthread.php?32687-MrShoo… 64#post149064

Кстати заметил, что когда гонял пример из статьи, с включённой лагорезкой, температура чипа (ноутбучный i5+HD 3000) оставалась на 68 градусах. Выключил лагорезку - температура поползла вверх и доползла до 72. Потом вентилятор завыл на повышенных оборотах, срывая эксперимент.
А fps'ы  при этом - абсолютно одинаковые.
Так что, оно не только лагает, оно ещё и греется!

#13
3:29, 15 окт. 2018

Cheb
> Решал переключением на диспетчер задач (тоже целый квест в ОСи того времени) и установкой процессу игры пониженного приоритета.
Ой, приоритет вообще бяка.

Я у себя перестал выставлять процессу повышенный приоритет, после того как наткнулся на лаги ввода в несколько секунд.
Причём это встречающаяся вещь, оно гуглится у вполне известных тайтлов.

#14
4:14, 15 окт. 2018

Вы невнимательно прочитали, коллега.
Я написал "пониженный".
Не думаю, что на Gf 2 был аппаратный буфер команд, но, возможно, был его программный пращур на CPU в драйвере. И бяка получалась точно такая же. Снижая приоритет игры, как я думаю (ядро-то было в те времена одно), я позволял драйверу излить накопившееся прежде, чем могла проснуться игра и загрузить его следующим кадром.

Страницы: 1 2 Следующая »
ПрограммированиеФорумГрафика