Список форумов * PWR FACTORY *  -  Флуд  -  ReHLDS, Reverse-engineered HLDS

Автор Сообщение
bibika
Добавлено: Чт Мар 17, 2016 9:57
Оффлайн
* Главный главнюк *
* Главный главнюк *
Информация
На форуме с: 25.10.2009 Возраст: 37 Сообщения: 7834 Откуда: Питер
ReHLDS, Reverse-engineered HLDS, Реверс-инжиниринг оригинального HLDS





ReHLDS - это результат реверс-инжиниринга оригинального HLDS (build 6152/6153) с использованием отладочной информации DWARF, встроенной в linux-версию HLDS, engine_i486.so.
В процессе реверс-инжиниринга было обнаружено и исправлено множество недостатков и потенциальных багов.

Мотивация:
Главная мотивация - valve ничего не делает и нет возможности нормально исправлять баги.


Цели:
- Предоставить более стабильный HLDS с расширенным API для модов и плагинов.
- Оптимизация производительности.


Текущий статус:
Движок стабилен, почти все функции работают корректно.


Что это нам дало?
Стало возможно не просто изучать движок, но и легко вносить в него изменения. Раньше для этого требовалось писать патчащие память модули, что довольно трудоемко. Это годится лишь для исправления критических багов, для которых уже написаны эксплойты, так как на каждый мелкий недочет писать патчи слишком муторно. Теперь можно без особых проблем исправлять любые ошибки движка и делать его улучшения. В перспективе про HLDS от Valve можно будет забыть и поддерживать серверный движок самостоятельно.


Тест производительности:

Тесты производились под windows на 6 различных процессорах от i3 до i7 и с различными комбинациями разных библиотек движка, мода и metamod, но без amxmodx.
На каждом процессоре с разными наборами библиотек по очереди запускался один и тот же записанный 20-минутный матч 16х16 на карте de_aztec с sys_ticrate 100. Система тестирования построена таким образом, что вместо вызовов системных функций сразу без задержки возвращается их готовый результат. Таким образом, процессор все время выполняет только код игрового сервера и воспроизведение записанного матча занимает меньше времени, чем его запись, при которой системные функции выполнялись в полном объеме. Итоговое время зависит от производительности процессора и оптимизированности всех библиотек сервера.


Используемые типы библиотек движка:
- Stock: HLDS от Valve
- Pedantic optimizations (P.Opt): ReHLDS с оптимизациями, не нарушающими бинарную совместимость
- Optimized (Opt): ReHLDS со всеми возможными оптимизациями и исправлениями


Используемые типы библиотек мода:
- Stock: mp.dll от Valve
- Optimized: сторонняя mp.dll с оптимизацией нескольких математических функций


Используемые типы библиотек metamod:
- Stock: стандартный metamod-am
- Optimized: metamod-am с отключенными некоторыми частовызываемыми форвардами


Оценка результатов:
Оптимизация metamod дает от 20% до 30% прироста производительности, однако несколько урезает его функциональность.
Набор бинарно-совместимых оптимизаций ReHLDS дает от 65% до 110% прироста. При этом работа сервера полностью идентична работе обычного HLDS.
Включение всех оптимизаций и исправлений дает 11% прироста поверх предыдущего пункта. При этом часть математических функций будет выдавать погрешность на уровне менее 0.01%, что на работе сервера практически никак не сказывается.
Оптимизация мода дает около 6% прироста.


Заключение:
Цифры говорят сами за себя. ReHLDS работает более чем в 2 раза быстрее обычного HLDS.


Источник: http://www.dedicated-server.ru

Очень интересная тема, многие уже начинают его использовать, но пока не все плагины работают на переписанном движке, поэтому пока присматриваюсь))



Вернуться к началу
Steam Profile

Показать сообщения:  

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

Перейти:  

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете вкладывать файлы
Вы можете скачивать файлы