Зависимость физики в HL от FPS

Материал из HLWiki
Перейти к: навигация, поиск

Физика в движке ХЛ весьма зависит от используемого FPS. Часть зависимостей исправлены в Steam версии.

Содержание

Наиболее заметные проявления

  1. При FPS до 90-100 при падении на наклонную поверхность вы получите горизонтальное ускорение.
    При FPS выше 100 не получите.
  2. При FPS больше ~80 начинает заметно варьироваться скорость движения (и горизонтальная, и вертикальная).
    Зависимость скорости от FPS пилообразная.
    Максимумы скорости получаются при FPS полученном делением 1000 на целое число от 1 и больше.
    Минимумы скорости получаются прибавлением единицы к максимумам скорости (т.е. 1000 / n + 1). При 501 FPS получается наибольшее замедление, достигающее 2х раз. При этом, например, можно взлететь на гауссе столь высоко на сколько хватит патронов.
  3. При FPS от 101 до 111.1111 и от 201 до 250 при распрыге алиасом, во время отталкивания от горизонтальной поверхности вы не теряете скорость. При FPS от 250 до 333.3333 скорость теряется очень редко. При 100 FPS скорость теряется очень сильно (порядка 12% на каждом прыжке).
  4. Существует зависимость скорости стрельбы (например из автомата наиболее заметно) от FPS. Например, если сравнить стрельбу на 100 FPS и на 250, то на 250 автомат больше похож на пулемет. На самом деле разница не столь велика (при 100 FPS 500 патронов выстреливаются примерно за 40 секунд, при 250 за 38) - порядка 10%.
    Не стоит думать, что 250 FPS это спидхак, т.к. на самом деле это 100 FPS имеет замедление, а не 250 ускорение.
    Дополнительное исследование малых частот (EN): http://www.fortress-forever.com/fpsreport/.

Пример зависимости

Скорость движения постепенно растет начиная с 167 FPS и достигает максимума при 200. При 201 скорость движения резко падает.

Пики скорости движения

Цифры после точки (плавающей запятой) имеют значение. Напомню так же, что в ХЛ вместо плавающей запятой используется точка.

1000 / 1 = 1000
1000 / 2 = 500
1000 / 3 = 333.3333
1000 / 4 = 250
1000 / 5 = 200
1000 / 6 = 166.6666
1000 / 7 = 142.8571
1000 / 8 = 125
1000 / 9 = 111.1111
1000 / 10 = 100
1000 / 11 = 90.9090
1000 / 12 = 83.3333
1000 / 13 = 76.9230
1000 / 14 = 71.4285
1000 / 15 = 66.6666
и так далее.

Наилучший FPS

Таковым является значение 250: нет тороможений при прыжках и стрельба из автомата (и соответственно прочих оружий) наиболее скоростная.

Зависимость стрельбы из автомата МП5

Ниже приведены графики времени затрачиваемого на отстреливание полной обоймы автомата МП5 на различных FPS. Во времени не учтена задержка после последнего выстрела. Т.е., при стандартной задержке в 0,1 сек должно получаться суммарное время на обойму 4,9 секунд.

Time (синий график) - стрельба на стандартном сервере ХЛ. Fixed (красный график) - на сервере исправлено определение времени следующего выстрела.

Замеры произведены на ФПС являющихся пиками скорости движения для исключения влияния зависимости от физики, плюс на стандартном для ХЛ ФПС - 72. Можно заметить, что график Time довольно сильно меняется даже несмотря на то, что данные FPS являются пиками скорости. Данная ошибка появляется от использованного способа определения времени следующего выстрела: считается время от текущего момента обработки события, а не от момента, когда должен был произойти предыдущий выстрел. График Fixed показывает какое время на отстреливание полной обоймы затрачивается, если эту ошибку исправить на сервере. Видно, что на 72 FPS имеет завышенное время, вызванное ошибкой в сетевом протоколе движка GoldSource.

Скорость отстреливания полной обоймы MP5 Скорость отстреливания полной обоймы MP5 (масштабированный график)


Личные инструменты