champions-of-luneraria/docs/port/logs/u2a-batch/player-benchmark-macos-run2.json
Martin Stickelbroeck 3ca38a8443 U2 Batch Asset Import
Alle 86 Modelle der Godot-Referenz laufen durch die Blender→FBX-Pipeline
(nach bestandenem Vertical Function Test); jede Einheit zeigt ihr eigenes
Modell.

- Exportmanifest aus den Godot-Manifesten (tools/blender/make_manifest.py):
  Units, Enemies, Props, Characters, Peoples, Buildings, Environment; die
  drei Vergleichs-GLBs als Aliase. Neu in der Pipeline: Tangenten berechnet
  Unity mit MikkTSpace, Generatoren laufen in einer temporären Kopie, die
  Grüne Kluft wird wie das GLB zusammengefasst, Texturen kommen mit.
  1.616 Blender- und 1.247 Unity-Prüfungen grün, zwei Exportläufe
  byteidentisch; Kontaktbögen je Gruppe.
- Einheitenbibliothek nach Godots AssetLibrary: 70 Einträge der
  Einheitengruppen, Figuren mit Skelett ersetzen das starre Modell ihrer ID.
  Starre Modelle werden zur Laufzeit je Material zusammengefasst; Controller
  werden an Ort und Stelle aktualisiert.
- Tests mit allen Modellen: EditMode 11/11, PlayMode 2/2. Vertical Function
  Test Seed 2 DCE95C96556F3A1A und Seed 9 ab Runde 21 7B8E43AEFC0D60C5,
  beide gleich dem Kern (Nachweise mit LUNE_EVIDENCE=u2a-batch; die Belege
  von U2C und U2D bleiben unverändert).
- macOS-Player mit allen Modellen: 158-160 fps in der Übersicht
  (116 Einheiten), 205-207 fps auf der Mid-Lane; Haupt- und Render-Thread
  etwa doppelt so lang wie mit dem Platzhalter, Present-Ausreißer kürzer.
- Befund iCloud Drive: Konfliktkopien ("Name 2.ext") im Build-Cache ließen
  den Build die Einheitenbibliothek mit altem Feldlayout schreiben; der
  Player meldete sharedassets0.assets als beschädigt. LunePlayerBuild
  entfernt solche Kopien vor dem Build und bricht ab, wenn während des
  Builds neue entstehen. Bereits committete Kopien: Controller-Duplikate und
  World/Generated 2.meta entfernt, drei U2D-Benchmarkläufe als -run1 bis
  -run3 benannt.
- Dokumentation: U2-WORLD (Batch-Import), PORT-STATUS (Entscheidungen:
  Modelle direkt in Git, Projektort außerhalb von iCloud Drive), PORT-QA.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 19:10:35 +02:00

14 lines
1.4 KiB
JSON

{
"build": "OSXPlayer player, 6000.3.20f1, release",
"device": "Mac17,2; Apple M5; Apple M5",
"graphics_api": "Metal",
"resolution": "1920x1080",
"vsync": 0,
"match": "seed 9 from round 21 (fixture high_wave_21), speed 1x, measured after 10 s of combat",
"windows": [
{"view": "overview (zoom 64)", "frames": 3166, "fps": 158.2, "frame_ms_avg": 6.32, "frame_ms_median": 4.56, "frame_ms_p95": 20.67, "frame_ms_p99": 24.47, "frame_ms_max": 43.10, "frames_over_16_7_ms": 335, "of_them_with_simulation_step": 22, "gc_collections": 72, "simulation_ms_per_frame": 0.104, "views_ms_per_frame": 0.331, "units_alive_max": 116},
// timings overview (zoom 64): main thread avg 2.59 / median 2.52 / p95 3.74 ms, render thread avg 3.32 / median 3.30 / p95 3.80 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 3.72 / median 1.66 / p95 18.36 ms
{"view": "mid lane close (zoom 22)", "frames": 2051, "fps": 205.1, "frame_ms_avg": 4.88, "frame_ms_median": 4.09, "frame_ms_p95": 8.31, "frame_ms_p99": 21.61, "frame_ms_max": 25.38, "frames_over_16_7_ms": 76, "of_them_with_simulation_step": 8, "gc_collections": 23, "simulation_ms_per_frame": 0.050, "views_ms_per_frame": 0.334, "units_alive_max": 63}
// timings mid lane close (zoom 22): main thread avg 2.16 / median 2.14 / p95 2.93 ms, render thread avg 3.04 / median 3.03 / p95 3.47 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 2.73 / median 1.92 / p95 6.53 ms
]
}