bash.im ithappens.me zadolba.li
9664

Падал прошлогодний FPS

2 августа 2012, 07:15

Решил я вспомнить молодость да нервишки потрепать. Установил достопамятную игру F.E.A.R., после которой в своё время шарахался от каждой тени, впрочем, неизменно восхищаясь реализацией AI. Машина, на которой я вознамерился вновь воевать с Альмой, была ещё мощнее той, на которой я прошёл игру на максимальных настройках, поэтому за производительность я не волновался. Каково же было моё удивление, когда спустя пару минут игра начала из шутера постепенно превращаться в пошаговую стратегию! Причём было совершенно всё равно, просторный ли зал, полный монстров, или закрытый угол перед тобой: с самого начала количество кадров в секунду плавно начинало снижаться, и чем дольше игра была запущена, тем сильнее тормозила. Загрузка отложенной партии решала проблему, но лишь на несколько минут, после чего всё повторялось снова.

Доведённый почти до отчаяния невозможностью поиграть в любимую игру на мощной машине, я таки ухитрился отыскать источник своих бед. Дело было… в моей клавиатуре Logitech G11! Непонятно как, непонятно где, но у дедушки движка Jupiter EX, писавшегося ещё в те годы, когда моей клавиатуры и в проекте не было, вскрылись какие-то специфические проблемы c DirectInput в связке именно с периферией Logitech с приставкой «G», в результате чего через какое-то время в игре начинал переполняться буфер ввода, что и приводило ко всё нарастающим тормозам. Поскольку в Monolith на своё детище уже давно махнули рукой, единственным способом всё-таки нормально поиграть оказалось отключение всех G-устройств в соответствующем диспетчере, после чего игра начала работать нормально — пусть и ценой потери макросов, всех мультимедийных клавиш клавиатуры, а на десерт и переключения на лету чувствительности мыши.

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