03. Замеры FPS и времени загрузки (NFR-1, NFR-2)
Цель: скрипт замеряет FPS на пресете medium и время загрузки локации на дискретной видеокарте, печатает отчёт с числами.
Контекст: docs/guide/game.md («Графика»), scripts/game/graphics_presets.gd, configs/game.json (graphics_presets), REQUIREMENTS.md (NFR-1: 60 FPS на дискретной; NFR-2: загрузка ≤ 10 с).
Папки-владения: tools/bench/ (новая). Код модулей не правит — узкие места и цифры описывает в отчёте; правки чужих файлов графики — карточка владельцу.
Шаги
tools/bench/frame_bench.sh: 3–4 ракурса через--autostart --camera=… --time=20на каждой локации (старт у склона, высота над лесом, вид на облака) — средний и 1%-low FPS на пресете medium.tools/bench/load_bench.sh: время от--autostartдо первого кадра полёта на каждой локации (тёплый кеш.godot/).- Прогнать оба на этой машине с дискретной видеокартой; результаты — в таблицу docs/guide/game.md («Графика»).
- Если medium < 60 FPS среднее — зафиксировать конкретные узкие места (по
RenderingServerтаймингам) в отчёте без правки чужого кода.
Критерий приёмки
tools/bench/frame_bench.shпечатает таблицу «ракурс → средний FPS, 1%-low» для всех локаций на medium.tools/bench/load_bench.shпечатает время загрузки каждой локации; все ≤ 10 с (тёплый кеш) — если нет, отчёт содержит цифры и просадки.- Таблица добавлена в docs/guide/game.md.
Зависимости: после того как трава/лес/облака (vegetation, terrain2, atmosphere) закончены — иначе цифры неактуальны. Можно параллельно с карточкой 02. Модель: sonnet. Размер: M.