Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/VVIS: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
(Add content from english page and update translate.)
 
(13 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{delete|low-quality translation.}}
{{LanguageBar|title=Компилятор видимости VVIS}}
{{Source topicon}}
{{toc-right}}
{{map compile pipeline|source1}}
 
{{vvis|4}} или ''Valve Visible Information Set'' (Набор визуальной информации Valve) это инструмент {{L|command-line|командной строки}}, который добавляет данные о видимости в скомпилированную карту {{L|BSP}}. VVIS определяет, какие {{L|visleaf|области видимости}} видны одна из другой, а какие нет. См.{{L|Visibility optimization|оптимизацию видимости}} для более детального объяснения.
 
Что делает VVIS:
* Проверяет видимость между {{L|visleaf|областями видимости}} с помощью [http://www.gdcvault.com/play/1014234/Excerpt-Quake-Postmortem-Optimizing-Level усечения их плоскостей обзора].
* Устанавливает предельную дальность видимости, при необходимости.
 
== Синтаксис ==
 
vvis [options...] <bsp file>
 
Пример:
 
"Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01
 
Сгенерирует и встроит диаграмму видимости, вписывая данные портала в <code>.\tmp\sdk_trainstation_01.prt</code>.
 
==Параметры==
Используются в {{L|expert compile mode|режиме эксперта}} или через bat-файл:
 
=== Функции ===
; <code>-fast</code>
: Беглая компиляция. По сути, даже не проверяет видимость.
; <code>-radius_override <{{L|int}}></code>
: Указать предельную дальность видимости в {{L|unit|единицах}}, игнорируя указанную в {{L|env_fog_controller}}. Внимание! Объект {{L|light_environment}} желательно располагать по центру карты, для предотвращения проблем с расчётным освещением.
; <code>-nosort</code>
: Не сортировать (для оптимизации) порталы.
; <code>-tmpin</code>
: Читать порталы из <code>\tmp\<mapname></code>.
; <code>-tmpout</code>
: Записывать порталы в <code>\tmp\<mapname></code>.
; <code>-trace <start cluster> <end cluster></code> {{source_2007|since}}
:Writes a linefile that traces the vis from one cluster to another for debugging map vis.
 
=== Основные ===
[[File:32cores16threads.png|300px|thumbnail|right|ПК с 32 ядрами использует только 16 ядер (несмотря на то, что указано 32)]]
[[File:32cores32threads.png|300px|thumbnail|right|ПК с 32 ядрами использует все ядра (пропатченный vvis)]]
; <code>-low</code>
: Запускает компилятор как процесс с низким приоритетом.
; <code>-threads</code>
: Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (x2 для процессоров с Hypertreading/SMT) на вашем компьютере). Максимум 16 потоков (32 в {{csgo}}{{slamminsrc}}{{mapbase}}, не ограничено в {{tf2}}).
:{{Workaround|С {{L|Increased_Thread_Limit_for_Compile_Tools|пропатченным vvis_dll}} возможно использовать 32 потока. {{l4d2}} [https://github.com/ficool2/fixtoolthreads fixtoolthreads] is a patch for [[VVIS]] (and [[VRAD]]) that supports ''unlimited'' threads and fixes a thread scaling issue.}}
::{{Note|The above mentioned thread scaling issue has been fixed in {{tf2}},{{csgo}},{{l4d2}},{{gmod}}.}}
:{{Tip|If you know that the compile time will be very long and would rather do something else while waiting, it may be useful to specify a number of threads 1 or 2 lower than what your CPU has. This allows the computer to allocate some more power to other applications, making it less choppy while lighting is being compiled. Keep in mind that this may slightly extend your compile time.}}
; <code>-verbose (-v)</code>
: Включить подробный вывод.
; <code>-novconfig</code>
: Не открывать графический интерфейс при ошибках vproject.
; <code>-mpi</code>
: Использовать {{L|VMPI}} для распределённых вычислений.
; <code>-mpi_pw <{{L|string}}></code>
: Использовать пароль для выбора конкретного набора подключаемых VMPI.
; <code>-vproject <string></code>
; <code>-game <string></code>
: Переопределяет переменную среды {{L|VPROJECT}}.
 
==Вывод информации==
VVIS печатает различную информацию о процессе компиляции в окне командной строки. Обратите внимание, что выводимая информация в более старых версиях компилятора может отличаться.
 
; <code>''number'' portalclusters</code>
: Эффективное количество областей на карте (области объединённые внутри одного {{L|func_viscluster}} считаются одной областью).
; <code>''number'' numportals</code>
: Количество порталов, которые соединяют эффективные области.
; <code>BasePortalVis:      0...1...2...3...4...5...6...7...8...9...10 (''затраченное время в секундах'')</code>
: Оценочный расчёт видимости, нужен для определения и исключения отдалённых от большей части мира пространств.
; <code>PortalFlow:          0...1...2...3...4...5...6...7...8...9...10 (''затраченное время в секундах'')</code>
: Запускает полноценный расчет видимости, определяет какие области фактически видят друга. Не запускается в режиме <code>-fast</code>.
; <code>Optimized: ''number'' visible clusters (''percentage'')</code>
: Коэффициент сжатия данных о видимости.
; <code>Total clusters visible: ''number''</code>
: Общее число взаимно видимых областей в соответствии с расчётными данными.
; <code>Average clusters visible: ''number''</code>
: Среднее число областей, которые можно увидеть одновременно.
; <code>Building PAS...</code>
: Расчёт данных о потенциальной слышимости.
; <code>Average clusters audible: ''number''</code>
: Среднее число областей, которые можно услышать одновременно.
; <code>visdatasize: ''number''  compressed from ''number''</code>
: Размер данных о видимости в байтах, максимум  16Мб в Source 2013.
 
==Смотреть также==
* [[PRT]]
* {{L|VIS_optimization|Оптимизация видимости}}
 
{{SDKTools}}
 
{{sdktools}}
 
{{ACategory|Official Source Tools}}
{{ACategory|Source 1 BSP compilers}}

Latest revision as of 14:40, 2 July 2025

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

VBSPVVISVRADBSPZIP

VVIS VVIS или Valve Visible Information Set (Набор визуальной информации Valve) это инструмент командной строки(en), который добавляет данные о видимости в скомпилированную карту BSP(en). VVIS определяет, какие области видимости(en) видны одна из другой, а какие нет. См.оптимизацию видимости(en) для более детального объяснения.

Что делает VVIS:

Синтаксис

vvis [options...] <bsp file>

Пример:

"Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01

Сгенерирует и встроит диаграмму видимости, вписывая данные портала в .\tmp\sdk_trainstation_01.prt.

Параметры

Используются в режиме эксперта(en) или через bat-файл:

Функции

-fast
Беглая компиляция. По сути, даже не проверяет видимость.
-radius_override <int(en)>
Указать предельную дальность видимости в единицах(en), игнорируя указанную в env_fog_controller(en). Внимание! Объект light_environment(en) желательно располагать по центру карты, для предотвращения проблем с расчётным освещением.
-nosort
Не сортировать (для оптимизации) порталы.
-tmpin
Читать порталы из \tmp\<mapname>.
-tmpout
Записывать порталы в \tmp\<mapname>.
-trace <start cluster> <end cluster> (Во всех играх начиная с Source 2007)
Writes a linefile that traces the vis from one cluster to another for debugging map vis.

Основные

ПК с 32 ядрами использует только 16 ядер (несмотря на то, что указано 32)
ПК с 32 ядрами использует все ядра (пропатченный vvis)
-low
Запускает компилятор как процесс с низким приоритетом.
-threads
Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (x2 для процессоров с Hypertreading/SMT) на вашем компьютере). Максимум 16 потоков (32 в Counter-Strike: Global OffensiveSlammin' Source Map ToolsMapbase, не ограничено в Team Fortress 2).
PlacementTip.pngОбходной приём:С пропатченным vvis_dll(en) возможно использовать 32 потока. Left 4 Dead 2 fixtoolthreads is a patch for VVIS (and VRAD) that supports unlimited threads and fixes a thread scaling issue.
Note.pngПримечание:The above mentioned thread scaling issue has been fixed in Team Fortress 2,Counter-Strike: Global Offensive,Left 4 Dead 2,Garry's Mod.
Tip.pngСовет:If you know that the compile time will be very long and would rather do something else while waiting, it may be useful to specify a number of threads 1 or 2 lower than what your CPU has. This allows the computer to allocate some more power to other applications, making it less choppy while lighting is being compiled. Keep in mind that this may slightly extend your compile time.
-verbose (-v)
Включить подробный вывод.
-novconfig
Не открывать графический интерфейс при ошибках vproject.
-mpi
Использовать VMPI(en) для распределённых вычислений.
-mpi_pw <string(en)>
Использовать пароль для выбора конкретного набора подключаемых VMPI.
-vproject <string>
-game <string>
Переопределяет переменную среды VPROJECT(en).

Вывод информации

VVIS печатает различную информацию о процессе компиляции в окне командной строки. Обратите внимание, что выводимая информация в более старых версиях компилятора может отличаться.

number portalclusters
Эффективное количество областей на карте (области объединённые внутри одного func_viscluster(en) считаются одной областью).
number numportals
Количество порталов, которые соединяют эффективные области.
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (затраченное время в секундах)
Оценочный расчёт видимости, нужен для определения и исключения отдалённых от большей части мира пространств.
PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (затраченное время в секундах)
Запускает полноценный расчет видимости, определяет какие области фактически видят друга. Не запускается в режиме -fast.
Optimized: number visible clusters (percentage)
Коэффициент сжатия данных о видимости.
Total clusters visible: number
Общее число взаимно видимых областей в соответствии с расчётными данными.
Average clusters visible: number
Среднее число областей, которые можно увидеть одновременно.
Building PAS...
Расчёт данных о потенциальной слышимости.
Average clusters audible: number
Среднее число областей, которые можно услышать одновременно.
visdatasize: number compressed from number
Размер данных о видимости в байтах, максимум 16Мб в Source 2013.

Смотреть также