Files
Blockline/docs/PERFORMANCE-CONTROLS.md
T

22 lines
2.7 KiB
Markdown
Raw Normal View History

2026-09-12 11:01:37 +02:00
# Performance und freie Steuerung
## Bedienung
SETTINGS → STEUERUNG / TASTEN FREI BELEGEN bietet 20 Aktionen mit jeweils zwei Belegungen. Einen Platz anklicken und eine Tastatur- oder Maustaste drücken. Esc bricht die Erfassung ab. Seitliche Maustasten werden unterstützt; das Mausrad eignet sich für einzelne Aktionen wie Waffenwechsel, nicht für gehaltene Aktionen wie Zielen. Bei Konflikten kann die bisherige Belegung getauscht werden. Die letzte Menübelegung bleibt geschützt.
Änderungen gelten sofort und werden in `user://controls.cfg` gespeichert. HUD-Hinweise folgen den neuen Belegungen. STANDARD WIEDERHERSTELLEN setzt ausschließlich die Steuerung zurück. Gamepad-Belegung ist nicht enthalten.
## Vorbereitung und Laufzeit
- Beim grafischen Start und nach Wechsel der Grafikqualität werden Waffen, Aufsätze, Operatoren, Arme und Effekte in einem separaten Viewport tatsächlich gerendert. Eine Ladeanzeige zeigt 25 Schritte. Headless-Server überspringen das.
- Vorschau-Viewports verwenden dieselbe MSAA-Einstellung wie das Spiel, um unnötige Pipeline-Wechsel zu vermeiden.
- Operator-Szenen und berechnete Waffenwerte werden wiederverwendet. Änderungen an Waffe oder Design invalidieren den Wertecache.
- Körperanimationen entfernter Figuren werden ab 20 m mit höchstens 30 Hz, ab 45 m mit höchstens 15 Hz aktualisiert. Positionsinterpolation, Trefferprüfung und Bewegungsphysik bleiben unabhängig davon.
- Die fünf großen Operator-FBX-Dateien referenzieren gemeinsam genutzte Texturen statt eingebetteter Kopien (zusammen etwa 612 MB auf 14 MB für die FBX-Dateien allein). Die Texturen benötigen weiterhin eigenen Speicher. Normalmaps und Roughness werden getrennt und mit Mipmaps/VRAM-Kompression importiert.
Der Diagnosebericht `user://shader-prewarm.json` enthält Dauer und Godot-Pipeline-Zähler. Im lokalen Forward+-Render auf RTX 4060 dauerte die Vorbereitung 1,95 Sekunden; das ist weder eine Garantie für andere Rechner noch eine Messung des gesamten Spielstarts. Ein vorhandener Treiber-Cache beeinflusst die Dauer. Weitere bisher ungesehene Shaderkombinationen können weiterhin während des Spiels entstehen. Hintergrund: [Godot 4.5 Pipeline compilation](https://docs.godotengine.org/en/4.5/tutorials/performance/pipeline_compilations.html).
## Prüfung
`tests/controls.gd` prüft alternative Mausbelegung, Konflikttausch, Schutz der Menütaste, Mausrad-Regeln einschließlich Rücktausch, Speichern/Wiederherstellen, beschädigte Konfiguration und die tatsächliche Zuordnung physischer Tastenevents. `tests/fps_foundation.gd` prüft Kamera, Eingaben und Schussfeedback. `tests/operator_game_render.gd` rendert den kompletten Start, das Steuerungsmenü, Operatorvorschau und Ego-Waffenansichten. `tests/audit_gdscript.py` prüft alle eigenen GDScripts.