Разделить частоту обновления часов и расчёта симуляции
Счётчик времени UI обновляется до 10 Гц по запрошенному времени, а тяжёлые циклы по-прежнему запускаются с адаптивным интервалом и обрабатывают весь накопленный промежуток. Обновить тесты и описание модели.
This commit is contained in:
+12
-1
@@ -253,7 +253,18 @@ godot --headless --path Owniverse.GI --script res://tests/test_flow_commit.gd
|
||||
Stage вызывает `evolute_frame`: транзакция получает бюджет 40 мс и уступает
|
||||
следующему кадру внутри создания партий и обработки стадий. Расчёт остаётся
|
||||
на главном потоке, состояние публикуется только после полного завершения.
|
||||
Расчёт запускается после накопления 0,2 реальной секунды и обрабатывает весь ожидающий интервал. Время, поступившее во время расчёта, обрабатывается следующим циклом. При перегрузке шаг растёт; пять завершений в секунду остаются целевой частотой, а не гарантией.
|
||||
Запрошенные игровые часы и счётчик UI обновляются независимо от тяжёлого расчёта;
|
||||
Stage показывает запрошенное время раз в 0,1 секунды (10 Гц), а опубликованное
|
||||
состояние мира остаётся на последнем завершённом цикле. Расчёт запускается после
|
||||
накопления выбранного интервала и обрабатывает весь ожидающий интервал. Время,
|
||||
поступившее во время расчёта, обрабатывается следующим циклом. Контроллер нагрузки
|
||||
меняет целевой шаг между 0,2, 0,25, 0,333 и 0,5 секунды (5/4/3/2 цикла в секунду):
|
||||
вниз при EMA расчёта выше 90% текущего шага, вверх после 30 циклов ниже 65%.
|
||||
Временное разрешение укрупнения партий масштабируется с шагом, исходная точность
|
||||
сохраняется на 5 Гц. Контроллер не пропускает накопленное игровое время, но 2/с —
|
||||
нижняя целевая частота, не гарантия при перегрузке.
|
||||
|
||||
`benchmark_dynamic_cadence.gd` сравнивает пропускную способность полного цикла на двух диагностических сохранениях. `benchmark_dynamic_cadence_ui.gd` сравнивает 10 секунд работы полной сцены на сохранении со всеми объектами; результаты сохранены в `artifacts/dynamic_cadence_results.json` и `artifacts/dynamic_cadence_ui_results.json`.
|
||||
|
||||
Производство во время транзакции выполняется после её завершения. Запрошенное
|
||||
время, активный интервал, скорость и очередь производства входят в сохранение;
|
||||
|
||||
Reference in New Issue
Block a user