perf(render): retain static mesh prefixes between frames
Docs Deploy / Build and Deploy MkDocs (push) Successful in 36s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 36s
This commit is contained in:
5 files changed
+177
-71
No files matched your search
@@ -1151,6 +1151,21 @@ WEAR и MAT0 до объединения геометрии. Индексы GPU
|
||||
`u16`. Terrain передаёт в shader базовый, detail и overlay stages, lightmap и
|
||||
animation phase; object batches сохраняют их legacy blend/depth/alpha state.
|
||||
|
||||
Рельеф образует неизменяемое начало общего vertex buffer. Control-анимация,
|
||||
FX и окружение обновляют следующие вершины, а новые индексы нужны только
|
||||
геометрии проекционных теней в конце index buffer. Поэтому кадр записывает
|
||||
лишь эти изменяемые части. При росте буфера новая память получает все данные,
|
||||
включая неизменяемое начало; уменьшение числа теней не уменьшает выделенную
|
||||
ёмкость. Это сохраняет номера вершин, диапазоны отрисовки и порядок проходов.
|
||||
|
||||
Перед записью общих ресурсов renderer ждёт fences всех отправленных кадров.
|
||||
Одного fence текущего кадрового слота недостаточно: другой кадр ещё может
|
||||
читать ту же память. Ожидание всего устройства остаётся на пересоздании
|
||||
swapchain, диагностическом readback и завершении работы. Загрузка изменённых
|
||||
текстур пока использует отдельную синхронную transfer-команду. Строка
|
||||
`render_geometry_upload` показывает записанные vertex/index bytes и объём,
|
||||
который потребовался бы при полной перезаливке, без начальной загрузки.
|
||||
|
||||
После загрузки world path создаёт интерактивную free-flight камеру (`WASD`,
|
||||
`E/Q`, `Shift`, `Ctrl`, RMB relative-look), обновляет listener и на каждом
|
||||
кадре собирает environment frame. Для каждого отрисовываемого строения
|
||||
|
||||
Reference in new issue
Block a user