xrLC — различия между версиями

Материал из xrWiki
Перейти к: навигация, поиск
(полезные советы)
Строка 7: Строка 7:
 
* '''-f <имя_уровня>''' <br />Компилировать уровень в <code>gamedata\levels\<имя_уровня>\</code>
 
* '''-f <имя_уровня>''' <br />Компилировать уровень в <code>gamedata\levels\<имя_уровня>\</code>
 
Общие опции:
 
Общие опции:
* '''-gi''' <br />Просчет глобального освещения по алгоритму Radiosity.
+
* '''-gi''' <br />Просчет глобального освещения по алгоритму Radiosity (недоработан).
 
* '''-nosun''' <br />Отключить солнечное освещение. Опция предназначена для компиляции подземных локаций.
 
* '''-nosun''' <br />Отключить солнечное освещение. Опция предназначена для компиляции подземных локаций.
* '''-nosmg''' <br />Использовать старый метод обработки групп сглаживания (в компиляторах ЗП и ЧН).
+
* '''-nosmg''' <br />Использовать старый метод обработки групп сглаживания (для компиляторов ЧН и ЗП).
* '''-noise''' <br />Не создавать геометрию progressive-типа, с лодами (без такого ключа вдали от игрока геометрия подменяется на упрощенный вариант, рисуется меньше вершин; теоретически это должно давать некоторый прирост fps).
+
* '''-noise''' <br />Не создавать геометрию progressive-типа (с лодами). Без такого ключа вдали от игрока геометрия подменяется на упрощенный вариант, отрисовывается меньше вершин. Теоретически это должно давать некоторый прирост FPS. Используйте, если компилятор валится без внятного лога на обработке progressive mesh'ей.
 
Дополнительные опции:
 
Дополнительные опции:
 
* '''-? или -h''' <br />Вывести краткую справку по основным командам.
 
* '''-? или -h''' <br />Вывести краткую справку по основным командам.
Строка 19: Строка 19:
 
Пример:
 
Пример:
 
<syntaxhighlight lang="winbatch">xrLC -nosun -f level_name -net</syntaxhighlight>
 
<syntaxhighlight lang="winbatch">xrLC -nosun -f level_name -net</syntaxhighlight>
 +
<br />
 +
{| style="background-color: #fffdee;" width="100%"
 +
|<span style="color:#172172;">'''Полезные советы'''</span>
 +
----
 +
Перед "чистовой" компиляцией уровня рекомендуется перезагрузить компьютер во избежание зависания процесса.
 +
----
 +
xrLC работает быстрее при закрытом [[LevelEditor]]'е.
 +
----
 +
При наличии в папке с xrLC.exe для ЗП файла '''[[ccc__temp__vertices]]''' расчетное время компиляции завышается в разы. Имеет смысл удалять этот файл при запуске компилятора.
 +
----
 +
Если компьютер уходит в спящий режим при работающем xrLC, то запустите фоном какой-либо нетяжелый процесс (например, торрент-клиент).
 +
|}
 +
  
 
== Сетевая компиляция ==
 
== Сетевая компиляция ==

Версия 11:08, 16 июля 2014

xrLC — компилятор основных компонентов игрового уровня. Запускается из консоли.

Параметры командной строки

Команда:

xrLC <общие_опции> -f <имя_уровня> <дополнительные_опции>

Обязательный параметр:

  • -f <имя_уровня>
    Компилировать уровень в gamedata\levels\<имя_уровня>\

Общие опции:

  • -gi
    Просчет глобального освещения по алгоритму Radiosity (недоработан).
  • -nosun
    Отключить солнечное освещение. Опция предназначена для компиляции подземных локаций.
  • -nosmg
    Использовать старый метод обработки групп сглаживания (для компиляторов ЧН и ЗП).
  • -noise
    Не создавать геометрию progressive-типа (с лодами). Без такого ключа вдали от игрока геометрия подменяется на упрощенный вариант, отрисовывается меньше вершин. Теоретически это должно давать некоторый прирост FPS. Используйте, если компилятор валится без внятного лога на обработке progressive mesh'ей.

Дополнительные опции:

  • -? или -h
    Вывести краткую справку по основным командам.
  • -o
    Модифицировать опции построения уровня (только в компиляторах ТЧ).
  • -silent
    Завершать работу без вывода сообщения об успешном окончании компиляции. Используется для пакетного рендеринга уровней. Полезен в любом случае, т.к. позволяет автоматически освободить системные ресурсы.
  • -keep_temp_files
    Сохранять build_cform_source.smf и cform_source.smf в папке с уровнем. Скорее всего, эти файлы просто для визуального анализа коллижн-геометрии в QVis. На минимальных настройках компиляции ключ не работает.
  • -net
    Сетевая компиляция. Используются координатор и агенты (только для сетевого компилятора ЗП).

Пример:

xrLC -nosun -f level_name -net


Полезные советы

Перед "чистовой" компиляцией уровня рекомендуется перезагрузить компьютер во избежание зависания процесса.


xrLC работает быстрее при закрытом LevelEditor'е.


При наличии в папке с xrLC.exe для ЗП файла ccc__temp__vertices расчетное время компиляции завышается в разы. Имеет смысл удалять этот файл при запуске компилятора.


Если компьютер уходит в спящий режим при работающем xrLC, то запустите фоном какой-либо нетяжелый процесс (например, торрент-клиент).


Сетевая компиляция

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

  1. координатор — контролирует и распределяет доступные ресурсы;
  2. агент — получает и выполняет задания от координатора;
  3. приложение (xrLC_net) — добавляет задания в очередь выполнения.
Внимание!

Соединение через интернет не рекомендуется по соображениям безопасности.

Использование

  1. Скопируйте файлы агента на все машины, координатор и xrLC — на ту, где будет работать компилятор. При необходимости сконфигурируйте hxgrid.ini.
  2. Запустите координатор и агенты. Агенты транслируются в LAN, найдут координатор, сохранят его IP в hxgrid.ini (поэтому не имеет смысла самостоятельно задавать coordinator_ip) и будут периодически отсылать ему отчет о своем состоянии.
  3. Запустите компилятор уровней с ключом -net. При инициализации библиотеки hxGrid xrLC найдет координатора, запросит IP-адреса доступных агентов и соединится с ними.

Получив задание, координатор и агенты сменят статус на Working for […]

hxgrid-working.png

Ссылки

Библиотека hxGrid Романа Лута

Благодарности

Спасибо K.D. за пояснения по некоторым ключам.