Серверный fps

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Ответить
Сообщение
Автор
Аватара пользователя
ROSKO69
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 28.08.2008

#1 Сообщение 08.01.2009, 05:27

Вот что я нашел:
Q:Помогите! ФПС на сервере не поднимаеться выше ***!
Поднятие ФПС дело неоднозначное, т.к. он зависит от многих факторов(железо, канал и т.д.) но фпс поднять можно запустив на сервере Windows Media Player или специальную программу FPS booster.

Можно о всем этом подробно!
Изображение
Изображение

Аватара пользователя
t0x1c_r1v3r
HL Fan
HL Fan
Сообщения: 412
Зарегистрирован: 03.08.2008
Благодарил (а): 2 раза
Поблагодарили: 13 раз

#2 Сообщение 09.01.2009, 12:31

В дискретные промежутки времени сервер делает снимки игровова мира, с определенной частотой, фпс и есть частота генерации снимков, чем больше фпс тем быстрее сервер реагирует на действия клиентов, а соответственно прибавка к пингу уменьшается, к примеру сервер 1000 фпс, 1сек = 1000мс, 1000/1000=1мс прибавка к пингу клиентам
НО при этом увеличивается нагрузка на проц. сервака и на сетевое соединение и оборудование.
Серверный фпс ограничивает сис. таймер ОС. В винде с acpi ядром макс. 512 фпс, хотя конечно можно по эксперементировать с запуском или переустановкой ос в apic и т.п.
Увеличить частоту сис. таймера в винде можно например запустив мм приложение типа вмп или флешки, а можно еще и посредствам плагина к метамоду - booster, и ему подобных при чем у бустера для hlds есть одна особенность - в вин. с acpi в окне hlds макс будет 512 фпс, а если зайти на сервер и прописать stats то 1000.0 фпс :D:D, так же бустер для hlds нужно запускать лишь на одном сервере или запускать как службу.
Для source бустер называется - FPS Boost
В линух частоту сис. таймера можно увеличить пересобрав ядро с hz=1000, т.е отредактировав и скомпилив исходники.
Команды в играх ограничивающие фпс: sys_ticrate (HLDS) и fps_max (SRCDS)

Важно понять что серверный фпс должен быть стабильным, если фпс сервера прыгает это lag free server (LFS) а это очень плохо.
1000фпс. Не то чтобы это плохо, просто подумайте хорошо стоит ли вам её добиваться, действительный эффект можно получить лишь отключив лагокомпенсацию (ЛК) и к минимуму свести интерполяцию, но на онлайн серваках отключать ЛК просто глупо. Т.е реально преимущество 1000 только, по сути на ланах.
t_rrrrrrrrrrrrrrkl

Lev2008
Лейтенант
Лейтенант
Сообщения: 221
Зарегистрирован: 08.11.2008

#3 Сообщение 10.01.2009, 17:39

t0x1c_r1v3r писал(а):Увеличить частоту сис. таймера в винде можно например запустив мм приложение типа вмп или флешки
Увеличивает серверный FPS? Я попробовал - не получилось.
t0x1c_r1v3r писал(а):, а можно еще и посредствам плагина к метамоду - booster, и ему подобных при чем у бустера для hlds есть одна особенность - в вин. с acpi в окне hlds макс будет 512 фпс, а если зайти на сервер и прописать stats то 1000.0 фпс :D:D, так же бустер для hlds нужно запускать лишь на одном сервере или запускать как службу.
Речь идет о WinHL-Booster by hullu? Первый раз такое слышу. У меня их пара на одном компе работает. Чем это черевато?

Аватара пользователя
t0x1c_r1v3r
HL Fan
HL Fan
Сообщения: 412
Зарегистрирован: 03.08.2008
Благодарил (а): 2 раза
Поблагодарили: 13 раз

#4 Сообщение 10.01.2009, 18:19

Увеличивает серверный FPS? Я попробовал - не получилось.
да, и бустер как раз таки разгоняет мм таймер
Речь идет о WinHL-Booster by hullu? Первый раз такое слышу. У меня их пара на одном компе работает. Чем это черевато?
ну раз работает значит не чем.. раз ресурсы позволяют это.. не понятно только зачем..

просто интересно какой фпс у тебя? и насколько он стабилен?
t_rrrrrrrrrrrrrrkl

Lev2008
Лейтенант
Лейтенант
Сообщения: 221
Зарегистрирован: 08.11.2008

#5 Сообщение 11.01.2009, 19:21

Немного поэкспериментировал. Разобрался как WMP поднимает FPS. Забавно. :)
sys_ticrate ведет себя как-то дискретно. Если ставить скажем от 200 до 255 FPS будет где-то 180, а если поставить 256, то сразу подскакивает до 256. К 512 также приближается. При 510 где-то 350-400, а при 512 сразу 512.
Вроде как бустер для сервера не только MM таймер разгоняет, но и sys_ticrate может управлять.
FPS был 180 +/- 20, при этом бустер ставил sys_ticrate на 251. Убрал автоуправление и поставил sys_ticrate 256. Сейчас FPS колеблется от 180 до 250. Посмотрю как это на игре скажется.

South
Разработчик
Разработчик
Сообщения: 287
Зарегистрирован: 18.06.2006
Откуда: с работы
Поблагодарили: 2 раза

#6 Сообщение 11.01.2009, 22:16

t0x1c_r1v3r писал(а):да, и бустер как раз таки разгоняет мм таймер
странное выражение "разгоняет". думаю, правильнее сказать изменяет разрешение мультимедийного таймера до 1 мс

данная цитата думаю здесь будет к месту
Разрешение
Разрешением (resolution) называется точность отсчета временных интервалов. Стандартный таймер Windows, управляемый функцией SetTimer, имеет достаточно низкое разрешение (порядка 50 мс в Windows 9x, порядка 10 мс - в Windows NT). Этого вполне хватает для отсчета интервалов при общении с пользователем, однако недостаточно для приложений реального времени. Мультимедийный таймер предоставляет возможность установки произвольного разрешения, вплоть до одной миллисекунды.

Фактически разрешение таймера означает период времени между аппаратными прерываниями от системного таймера. Если при стандартном разрешении они возникают сравнительно редко, несколько десятков раз в секунду, то при разрешении в 1 мс ядро Windows будет получать 1000 прерываний в секунду, что приводит к некоторому возрастанию накладных расходов.

Виды событий
Мультимедийный таймер поддерживает два вида событий: однократное (One shot) и периодическое (Periodic). Однократное событие возникает при истечении заданного временного интервала. Периодическое событие возникает каждый раз после истечения интервала, и фактически представляет собой однократное событие с "перезарядкой".

Уведомление о наступлении событий
Подсистема таймера поддерживает только один способ уведомления о наступлении таймерного события - вызов заданной программной функции. Для вызова функции подсистемой создается отдельная задача (thread) с приоритетом TIME_CRITICAL, из которой и вызывается заданная функция. Однажды созданная задача продолжает существовать до завершения приложения, обслуживая все последующие таймерные события.

Точность
Под точностью (accuracy) понимается способность таймерной подсистемы вызвать при уведомлении заданную программную функцию как можно ближе к моменту наступления события. Точность вызова увеличивется с повышением разрешения таймера, однако, поскольку вызов функции выполняется вспомогательной задачей, имеет место задержка на диспетчеризацию самой задачи. По умолчанию точность составляет примерно 7-10 мс, при разрешении 1 мс - 0-1 мс. При нехватке памяти, когда активизируется процесс подкачки (swapping) точность может резко падать до нескольких десятков миллисекунд.

Поскольку ни одна платформа Win32 не является системой реального времени, нет никаких гарантий точности работы таймера. Даже высший уровень приоритета вызывающей задачи не гарантирует от задержек на срочные системные операции, длительность которых в системах Windows никак не регламентируется.
вобщем как-то так :)
PS на правах рекламы: в лаунчеры созданные eXeCreator'ом уже давным-давно можно встроить свой fpsbooster и не пользоваться сторонними прогами :)
все пропало

Ответить