Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / InputLag. Как бороться?

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

Страницы: 1 2 Следующая »
IBetsПостоялецwww14 окт. 20187:22#0
Замерил время кадра(dt). Посчитал FPS = 1.0f / dt. FPS = 120, но лагает безбожно. Высокий InputLag. Проц не загружен

Правка: 14 окт. 2018 7:23

Polyflow3dПостоялецwww14 окт. 20189:10#1
IBets
загрузи проц, будет хоть не так обидно что лагает
ronnikoПостоялецwww14 окт. 201810:04#3
Шурик в статье , а особенно в коментах разошелся не на шутку ! :)
Но статья интересная.

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

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

Правка: 14 окт. 2018 10:06

IBetsПостоялецwww14 окт. 201810:13#4
Обнаружил проблему. Я юзаю DirectX::Mouse. Так вот я такой поэкспериментировать решил и убрал из кода m_pMouse->SetWindow(m_pWindow-GetHwnd()). Все заработало как надо
ronnikoПостоялецwww14 окт. 201810:15#5
А я скачал тест InputLagDemo.exe
Запустил и не увидил разницы во всех режимах.
Загрузил GPU что бы FPS был 7.
И делал что бы FPS был 168 и тоже ни какой разницы.

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

Правка: 14 окт. 2018 10:42

MrShoorУчастникwww14 окт. 201818:36#6
ronniko
> MrShoor ты же писал что ты не понимаешь Дельфи и не пишешь на нем !
Тебе это приснилось.
IBetsПостоялецwww14 окт. 201819:54#7
MrShoor
Ты же про, но почему ты пишешь не на крестах?
Vlad2001_MFSПостоялецwww14 окт. 201820:07#8
IBets
Может потому, что человеку больше нравится Lazarus?

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

FordPerfectПостоялецwww14 окт. 201820:50#9
Запощу классику: https://danluu.com/latency-mitigation/ .
BishopПостоялецwww15 окт. 20180:49#10
Vlad2001_MFS
> Я бы тоже хотел попробовать Lazarus, но меня жутко бесит, что IDE разделена на разные окна.
Можно настроить и по другому. Там докинг есть.
MrShoorУчастникwww15 окт. 20181:06#11
Vlad2001_MFS
> Я бы тоже хотел попробовать Lazarus, но меня жутко бесит, что IDE разделена на
> разные окна.
Там все есть. Пользуюсь лазарусом в одном окне.
ChebПостоялецwww15 окт. 20182:46#12
Встречался с этим дерьмом ещё играя на GeForce 2 MX под Windows 98. В некоторых местах в шутерах вдруг начинала дико лагать мышь.
Решал переключением на диспетчер задач (тоже целый квест в ОСи того времени) и установкой процессу игры пониженного приоритета.

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

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

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

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

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

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

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр