Производительность

From Valve Developer Community
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)

Производительность и способы оптимизаций необходимо учитывать при построении пользовательских карт.

Объекты, информация о которых обрабатывается на стороне клиента

Большое количество объектов в движке Source, обрабатываются на стороне клиента, после чего все данные о них посылаются на сервер. Таким образом все клиенты сервера синхронизированы друг с другом. Чтобы оптимизировать этот процесс, существуют объекты с окончанием "_clientside", которые уменьшают объём трафика.

Хорошим примером, являются объекты "prop_dynamic_clientside". При их использовании, данные о состоянии не посылаются на сервер. Каждый клиент видит эти объекты в разных состояниях, но они никак не влияют на геймплей.

Размещение деревьев

Разрушаемые деревья созданные с помощьюent_dota_tree, привязываются к навигационной сетке. Деревья размещенные в одном квадрате, будут перекрывать друг-друга после компиляции. Это может потребовать много ресурсов для обработки. Чтобы избежать этого размещайте "ent_dota_tree" минимум на расстоянии одной клетки друг от друга.

Note.pngПримечание:Tile Editor учитывает это автоматически и не позволит нескольким деревьям перекрывать друг-друга.

Оптимизация при детализации карт

Tile Editor позволяет создавать хорошо детализированные карты. Вполне возможно, что большое количество объектов, растений или деревьев в одной маленькой области на карте, может сильно затормозить работу слабых компьютеров. Следует это учитывать при создании карты.

Оптимизация освещения

Добавление множества точечных источников света может сильно отразиться на производительности. Используйте команду "r_deferred_simple_light 2", она покажет радиус света излучаемый точечными источниками света. Избегайте пересечена множества радиусов света, это поможет увеличить производительность.