Страница 1 из 1

Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 15:52
anti0
Добрый день!
Прошу Вас поделится информацией.
Каким образом можно отслеживать нажатия клавиш, но без использования Update.
Например нажатия клавиши Escape.
void Update () {
if(Input.GetKeyUp(KeyCode.Escape)

}
}

Дело в том что Update потребляет слишком много ресурсов, насколько мне известно идёт опрос 30 раз в секунду.
Наверняка существует способ на порядок экономичнее.
Знаю что как то связано с событиями, но к сожалению нужную информацию в сети не нашёл.

Заранее благодарю Вас.

Re: Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 16:05
DimaJoke
Update вызывается не 30 раз в секунду, а каждый кадр(при 30fps да, 30 раз за секунду).
Можете попробовать LateUpdate, который вызывается только после выполнения всех Update событий на сцене.

Re: Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 16:06
Xtir
Думаешь в тех же самых событиях нет своего апдейта которые отслеживают нажатие клавиши и которые тоже "потребляют слишком много ресурсов"?)))

Re: Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 16:07
1max1
Никак. Нажатие клавиш можно отловить только опрашиванием в каждом фрейме. Можно конечно запихнуть это в корутину, вместо апдейта, но это будет тоже самое)) Есть еще FixedUpdate, там кончено ограничение по фреймам, но клавиши не всегда будут отлавливается и иногда пролетать мимо. Вообще это не такая уж и ресурсоемкая операция, не заморачивайся :-B

Re: Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 18:59
anti0
Спасибо всем и в частности 1max1.
Ответ ясен.Просто когда Апдейтов много - то получается весьма существенно.

Re: Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 19:52
Jarico
anti0 писал(а):Дело в том что Update потребляет слишком много ресурсов
Заранее благодарю Вас.



Используй Entity Component System - многопоточность, компилятор с оптимизацией (тестировал лично: 100 тыс. объектов были с Update) и фризов не так много

Re: Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 20:21
1max1
ecs - сила)

Re: Отслеживание нажатия клавиш

СообщениеДобавлено: 21 фев 2019, 22:11
seaman
когда Апдейтов много

Кто мешает сделать один на сцену? Найдите статью 10000 Updates там есть пример