Gezielte Performance-Diagnostik
Anlass
Der erste Windows-Lauf von v8 unter Artifacts/RenderedQA/20260908-013349-6c86d3 lieferte beim Magnetwal einen einzelnen auffälligen Wert: Sample 489 (nullbasiert) meldete 1564,261 ms, die übrigen 1799 Werte lagen bei 16,650–24,968 ms. Mittelwert: 57,077 fps; Median, P95 und P99: 16,650 ms. Genau ein Wert lag über 50 beziehungsweise 100 ms. Ohne diesen Wert ergäben sich rechnerisch 60,024 fps; der unveränderte Rohbefund bleibt 57,077 fps.
Die damalige Messung verwendete ausschließlich Time.unscaledDeltaTime, endete nach 1800 Samples und schrieb während der Messung alle 900 Frames JSON. Absolute Frame-Zeitstempel fehlten. Eine grobe zeitliche Nähe zur ersten Open-Aufnahme war erkennbar, aber weder PNG-Verarbeitung noch ein Boss-Phasenwechsel sind damit als Ursache belegt. Die alten Laufdaten bleiben unverändert.
Neuer Messmodus
Ein einzelner Einsatz kann ohne PNG-Aufnahmen im echten sichtbaren Windows-Spiel wiederholt werden:
./Tools/Run-PerformanceCheck.ps1 -BuildName Playtest-v9 -MissionIds 2-3
./Tools/Run-PerformanceCheck.ps1 -BuildName Playtest-v9 -MissionIds 1-3,2-3,3-3
Playtest-v9 ist der für den unten dokumentierten Lauf verwendete Windows-Build aus Quellstand b9fd1c4. Das Skript startet ausschließlich das ausdrücklich gewählte EXE mit einem neuen Ordner unter Artifacts/PerformanceQA, 1920×1080 und den Flags --spacehero-render-check --spacehero-perf --spacehero-no-captures --spacehero-check-missions. Ein bestehendes SpaceHero-Fenster verhindert den Start. Ein Zeitlimit darf ausschließlich den selbst gestarteten Prozess beenden. Bestehende Profile, Läufe und fremde Prozesse werden nicht verändert.
Der Prüfpilot verwendet weiter die regulären Bewegungs-, Treffer- und Scannerregeln. Kampagnenfreischaltungen und Module auf Stufe 3 sind ausdrücklich vorbereitete Prüfdaten. Er misst weder echte Controller-Eingaben noch einen frischen Kampagnenablauf. Das Spielfenster muss fokussiert bleiben. Fokusverlust, Pause und Menüs beenden den jeweiligen Messabschnitt; nach Wiederaufnahme werden erneut 120 Warmup-Frames ausgelassen.
Daten und Grenzen
- Jeder erfasste Frame enthält UTC-Ticks,
Stopwatch.GetTimestamp(),Time.realtimeSinceStartupAsDouble, Unity-Framezähler und den aktuellen Phasennamen. GC.CollectionCount(0/1/2)wird zusätzlich pro Sample gespeichert. Der Verifier nennt bei Ausreißern die Änderung seit dem vorigen Sample. Damit lässt sich feststellen, ob in diesem Intervall auch eine Sammlung stattfand; ein zeitliches Zusammentreffen beweist für sich keine Ursache. Es gibt keine schweren Profiler-/Speicherabfragen pro Frame. Samples sind Werttypen (struct) in einer vorab reservierten Liste; Phasentexte entstehen nur bei tatsächlichem Zustandswechsel.- Die tatsächlichen Abstände zwischen zwei
LateUpdate-Aufrufen werden unabhängig über Stopwatch und Unity-Realtime gespeichert.realFrameTimesMsundrealAverageFpsberuhen auf Stopwatch. Die alten FelderframeTimesMs,averageFps,p95Msusw. behalten ihre bisherige Unity-delta-Bedeutung und bleiben für vorhandene Werkzeuge lesbar. - Bossphasen sowie Werft-Dock, Approach/Escort/Unload/Connect/Complete, Frachter-Reparatur und querender Verkehr werden mit UTC- und monotonen Zeitstempeln in
Performance/Timeline/events.jsonfestgehalten. Im normalen Grafiklauf kommen Capture-Request, Rückkehr des API-Aufrufs und der folgende Frame hinzu. Diese Ereignisse belegen keine Fertigstellung des asynchronen PNG-Schreibens; Dateizeitstempel bleiben ein zusätzlicher Vergleichspunkt. - Die Listen werden im Speicher gesammelt. JSON und Zeitachse werden erst nach dem Messabschnitt sowie beim Schließen geschrieben; es gibt keine periodischen JSON-Schreibvorgänge innerhalb der Messung. Die Kapazität von 21600 Frames wird vor Beginn reserviert. Ein erreichter Speicherdeckel wird ausgewiesen und vom gezielten Verifier abgelehnt.
- UTC kann durch eine Systemuhrkorrektur springen. Stopwatch-Ticks mit gespeicherter Frequenz liefern die monotone Reihenfolge; ein UTC-Sprung darf nicht als Renderhänger interpretiert werden.
- Gemessen werden sichtbare, fokussierte Unity-Frameintervalle einschließlich der Diagnoseinstrumentierung. Dies ist keine GPU-Ausführungszeit, keine Messung des tatsächlichen Display-Present-Zeitpunkts und keine vollständige Hardware-, Sound-, Schwierigkeits- oder Kinder-Abnahme.
Das normale Spiel ohne --spacehero-perf erhält keinen Performance-Recorder. Der bisherige vollständige Grafiklauf behält seine PNG-Aufnahmen und seine bisherigen Prüfmarker. Der gezielte Modus überspringt PNGs und anschließende Auflösungswechsel vollständig.
Auswertung
./Tools/Verify-PerformanceCheck.ps1 -Root 'Artifacts/PerformanceQA/<Lauf>' -MissionIds 2-3
Der Verifier prüft abgeschlossene gewählte Einsätze, keine PNGs/Capture-Ereignisse, eine geschlossene Zeitachse, mindestens einen zusammenhängenden Abschnitt mit 300 Frames, vollständige 1080p-GPU-Metadaten sowie Übereinstimmung von Stopwatch-Intervallen und monotonen Zeitstempeln. Er berechnet die Kennwerte aus den Rohwerten neu und listet Ausreißer über 50 ms mit UTC, Phase, Segment, Sampleindex sowie Stopwatch-/Realtime-/Unity-Wert auf.
Die voreingestellten Grenzen für die ausgewählten Messabschnitte sind Mittelwert mindestens 55 fps, P95 höchstens 25 ms und längster Frame höchstens 100 ms. Eine Überschreitung ist ein Fehler mit Diagnosehinweis, keine pauschale Freigabe ab einem positiven FPS-Wert. Die Grenzen können ausdrücklich als Parameter geändert werden; -ReportOnly erlaubt die nachträgliche lesende Betrachtung auffälliger Daten, ohne eine Qualitätsfreigabe zu erteilen.
Prüfung der Diagnosewerkzeuge
Beide PowerShell-Dateien wurden auf Syntax geprüft. Drei ausdrücklich synthetische Verifier-Fixtures unter Artifacts/DiagnosticFixtureChecks/20260908-020139 bestätigen: eine konsistente 60-fps-Reihe wird akzeptiert, ein einzelner 200-ms-Hänger wird trotz 58,22 fps Durchschnitt abgewiesen und ein inkonsistenter monotoner Zeitstempel ebenfalls. Diese Fixtures sind keine Spiel- oder Hardwaremessungen.
Die Unity-Kompilierung und der Windows-Build von v9 sind abgeschlossen. Der folgende Lauf ersetzt die synthetischen Fixtures als Nachweis für die ausgewählten Missionen auf diesem Zielrechner; der historische v8-Ausreißer bleibt hinsichtlich seiner Ursache ungeklärt.
Tatsächlicher Windows-Lauf von v9: bestanden
Der Lauf Artifacts/PerformanceQA/20260908-023746-9e81b700 erfüllte die unveränderten Grenzen Mittelwert mindestens 55 fps, P95 höchstens 25 ms, Maximum höchstens 100 ms in allen vier ausgewählten Missionen. Das echte Windows-Spiel lief sichtbar und fokussiert in 1920×1080 auf einer NVIDIA GeForce RTX 4060 Laptop GPU, Direct3D 11, mit Intel Core i9-13980HX und Unity 6000.0.45f1. Während dieses Laufs fanden keine PNG-Aufnahmen und keine parallele Modellinferenz, Downloads oder Archivierung statt.
| Mission | Messabschnitte | Gemessene Frames | Aktive Abschlusszeit | Mittelwert (Stopwatch) | P95 | Maximum |
|---|---|---|---|---|---|---|
| 1-3 K.R.A.B.B.E. | 1 | 2.229 | 39,2 s | 60,000 fps | 16,917 ms | 24,289 ms |
| 2-3 Magnetwal | 1 | 2.595 | 45,3 s | 60,023 fps | 16,950 ms | 18,677 ms |
| 3-1 Sternenwerft | 1 | 8.246 | 139,5 s | 60,015 fps | 16,961 ms | 21,211 ms |
| 3-3 Sternenherz | 1 | 2.685 | 46,8 s | 60,022 fps | 16,916 ms | 19,723 ms |
Insgesamt wurden 15.755 Frames über 262,517 Sekunden erfasst. Jede Mission lieferte einen zusammenhängenden Abschnitt nach jeweils 120 ausgelassenen Warmup-Frames, endete regulär im Ergebnisbildschirm und erreichte den Speicherdeckel nicht. Die aktive Abschlusszeit stammt separat aus checks.txt, schließt den Warmup ein und lässt Fokuswartezeit aus; sie ist deshalb länger als der ausgewertete Messabschnitt. Es gab keinen realen Frame über 50 ms und entsprechend keinen über 100 ms. Die geschlossene Zeitachse enthält vier Messabschnitte und 77 Phasenwechsel, aber keine Capture-Ereignisse; im Laufordner liegen keine PNGs.
Evidenz: Abschlusszeiten und COMPLETE-Marker, Playerlog, Zeitachse, Rohberichte 1-3, 2-3, 3-1 und 3-3.
Nachgewiesene Abweichung von Unity-delta
Time.unscaledDeltaTime meldete im selben Lauf drei Werte über 50 ms, obwohl beide unabhängig erfassten realen Intervalle an diesen Stellen etwa 17 ms betragen. Sampleindizes sind nullbasiert; GC-Delta bezeichnet die Änderung der Sammlungszähler gegenüber dem vorigen Sample.
| Mission / Index | Phase | Unity-delta | Stopwatch | Realtime | GC-Delta 0/1/2 |
|---|---|---|---|---|---|
| 1-3 / 93 | Arrival | 1.190,511 ms | 16,904 ms | 16,904 ms | 0/0/0 |
| 1-3 / 2131 | Complete | 50,047 ms | 16,651 ms | 16,651 ms | 0/0/0 |
| 3-1 / 1308 | Dock1-Connect-Traffic0-Clear | 80,914 ms | 16,970 ms | 16,970 ms | 0/0/0 |
Der größte Unity-Wert liegt bei Frame 314, UTC 2026-09-08T00:38:00.5782093Z. Die umliegenden Unity-Frame-IDs 312, 313, 314, 315 und 316 sind lückenlos. Ihre UTC-Zeitstempel reichen kontinuierlich von 00:38:00.5458330Z bis 00:38:00.6123328Z; Stopwatch und Realtime messen dort jeweils 16,446–16,904 ms. Alle fünf Samples bleiben in Arrival, und alle drei GC-Zähler bleiben bei 38. Für das auffällige Intervall beträgt der Wert genauer 16,904499 ms über Stopwatch und 16,904400 ms über Realtime.
Damit ist in diesem Lauf eine Diskrepanz der Unity-delta-Angabe belegt: Die gemeldeten 1.190,511 ms entsprechen keinem ebenso langen Abstand zwischen den gemessenen LateUpdate-Aufrufen. Eine Auswertung allein dieses delta-Werts wäre hier kein Rucklerbeweis. Die Daten erklären weder die Ursache dieser Diskrepanz noch rückwirkend den historischen v8-Wert von 1.564,261 ms. Auch der bestandene v9-Lauf misst weiterhin keine Display-Present-Zeitpunkte und ersetzt keine menschliche Bedienungs-, Hör- oder Kinderabnahme.
Tatsächlicher Windows-Lauf von v10: erweiterte Routen bestanden
Der Lauf Artifacts/PerformanceQA/20260908-035925-07881bd8 prüfte die erweiterten Missionen 2-1 Kristallpassagen und 3-2 Konvoi mit Playtest-v10 aus Quellstand 2ffdb6f. Beide erfüllten die unveränderten Grenzen Mittelwert mindestens 55 fps, P95 höchstens 25 ms, Maximum höchstens 100 ms. Das sichtbare, fokussierte Windows-Spiel lief in 1920×1080 auf derselben NVIDIA GeForce RTX 4060 Laptop GPU mit Direct3D 11, Intel Core i9-13980HX und Unity 6000.0.45f1. Während des Laufs fanden keine PNG-Aufnahmen, Modellinferenz, Downloads oder Archivierung statt.
./Tools/Run-PerformanceCheck.ps1 -BuildName Playtest-v10 -MissionIds 2-1,3-2 -TimeoutSeconds 900
./Tools/Verify-PerformanceCheck.ps1 -Root 'Artifacts/PerformanceQA/20260908-035925-07881bd8' -MissionIds 2-1,3-2
| Mission | Messabschnitte | Gemessene Frames | Aktive Abschlusszeit | Mittelwert (Stopwatch) | P95 | Maximum |
|---|---|---|---|---|---|---|
| 2-1 Kristallpassagen | 1 | 4.040 | 69,4 s | 60,001 fps | 17,245 ms | 19,186 ms |
| 3-2 Konvoi | 1 | 11.112 | 187,3 s | 60,005 fps | 16,940 ms | 25,214 ms |
Die Kennzahlen stammen aus realAverageFps, realP95Ms und realMaxMs; die P95-Werte stimmen mit der Neuberechnung aus den sortierten realFrameTimesMs nach dem nächsten Rang überein. averageFps und p95Ms beschreiben weiterhin Unity-delta und werden hier nicht als reale Frameintervalle ausgewertet.
Insgesamt wurden 15.152 Frames über 252,516 Sekunden gemessen. Beide Missionen lieferten jeweils einen zusammenhängenden Abschnitt nach 120 ausgelassenen Warmup-Frames, endeten regulär im Ergebnisbildschirm und erreichten den Speicherdeckel nicht. Die aktive Abschlusszeit aus checks.txt schließt den Warmup ein und lässt Fokuswartezeit aus; sie ist deshalb länger als der jeweilige Messabschnitt. Es gab keinen realen Frame über 50 ms und keinen über 100 ms. Die geschlossene Zeitachse enthält zwei Messabschnitte und 28 Phasenwechsel, aber keine Capture-Ereignisse; im Laufordner liegen keine PNGs.
Evidenz: Abschlusszeiten und COMPLETE-Marker, Playerlog, Zeitachse, Rohberichte 2-1 und 3-2.
Drei Unity-delta-Abweichungen ohne entsprechend lange reale Frameintervalle
Time.unscaledDeltaTime meldete drei Werte über 50 ms. Stopwatch und Unity-Realtime messen an denselben Stellen jeweils rund 17 ms. Die Indizes sind nullbasiert; GC-Delta vergleicht die Sammlungszähler mit dem vorherigen Sample.
| Mission / Segment / Index | UTC | Phase | Unity-delta | Stopwatch | Realtime | GC-Delta 0/1/2 |
|---|---|---|---|---|---|---|
| 2-1 / 001 / 1315 | 2026-09-08T02:00:00.3388663Z |
Passage2-MovingFields | 1.396,237 ms | 16,621 ms | 16,621 ms | 0/0/0 |
| 3-2 / 002 / 1051 | 2026-09-08T02:01:05.3540160Z |
Convoy0-Transit-Linked3-Traffic1-Warning | 113,697 ms | 16,749 ms | 16,749 ms | 0/0/0 |
| 3-2 / 002 / 10653 | 2026-09-08T02:03:45.3722474Z |
Convoy3-Departure-Linked3-Traffic5-Clear | 60,886 ms | 16,778 ms | 16,778 ms | 0/0/0 |
Diese Werte belegen erneut eine Abweichung der Unity-delta-Angabe, keinen entsprechend langen Abstand zwischen den gemessenen LateUpdate-Aufrufen. Die Ursache bleibt offen; auch der historische v8-Ausreißer ist damit nicht rückwirkend erklärt. Der v10-Lauf belegt die Leistung der beiden neuen Routen mit vorbereiteten maximalen Modulen auf diesem Rechner und ergänzt die historische Boss- und Werftmessung von v9. Andere Hardware, tatsächliche Display-Present-Zeitpunkte und echte Controller-Eingaben sind durch diesen Lauf nicht geprüft. Die menschliche Spiel-, Hör- und Kinderabnahme bleibt erforderlich.
Tatsächlicher Windows-Lauf von v15: treibende Mineralien bestanden
Der Lauf Artifacts/PerformanceQA/20260908-073242-0fddcb36 prüfte 2-2 Eskorte und 2-3 Magnetwal mit Playtest-v15 aus Spielquellstand 511da22, einschließlich der neuen Mineralgrafik und bewegten Trefferkonturen. Beide Missionen erfüllten die unveränderten Grenzen Mittelwert mindestens 55 fps, P95 höchstens 25 ms, Maximum höchstens 100 ms. Der lesende Verifier wurde gegen die abgeschlossenen Rohdaten erneut ausgeführt und meldete Erfolg ohne gelockerte Grenzwerte oder -ReportOnly.
./Tools/Verify-PerformanceCheck.ps1 -Root 'Artifacts/PerformanceQA/20260908-073242-0fddcb36' -MissionIds 2-2,2-3
Das sichtbare, fokussierte Windows-Spiel lief in 1920×1080 auf der NVIDIA GeForce RTX 4060 Laptop GPU mit Direct3D 11, Intel Core i9-13980HX und Unity 6000.0.45f1. Der stumme Prüfpilot verwendete ein isoliertes Profil, vorbereitete Freischaltungen und alle Module auf Stufe 3. Gemessen wurden die regulären Flug-, Treffer- und Scannerabläufe mit diesen Prüfdaten.
| Mission | Messabschnitte | Gemessene Frames | Gemessene Dauer | Aktive Abschlusszeit | Mittelwert (Stopwatch) | P95 | Maximum |
|---|---|---|---|---|---|---|---|
| 2-2 Eskorte | 1 | 4.209 | 70,149847 s | 72,2 s | 60,000134 fps | 16,936399 ms | 21,407400 ms |
| 2-3 Magnetwal | 1 | 2.593 | 43,200051 s | 45,3 s | 60,023075 fps | 16,999300 ms | 19,952299 ms |
Insgesamt wurden 6.802 Frames über 113,350 Sekunden gemessen. Die Kennzahlen stammen aus den Stopwatch-Rohintervallen; der Verifier berechnet FPS, P95 und Maximum daraus neu und prüft die monotonen Zeitstempel. Beide Missionen lieferten jeweils einen zusammenhängenden Abschnitt nach 120 ausgelassenen Warmup-Frames, endeten im Ergebnisbildschirm und erreichten den Speicherdeckel nicht. Die aktive Abschlusszeit aus checks.txt enthält zusätzlich den Warmup und lässt Fokuswartezeiten aus. Im gesamten Laufordner liegen keine PNGs; die geschlossene Zeitachse enthält zwei Messabschnitte und 14 Phasenwechsel, aber keine Capture-Ereignisse. Es gab keinen realen Frame über 50 ms, entsprechend auch keinen über 100 ms.
Evidenz: Abschlusszeiten und COMPLETE-Marker, Playerlog, Zeitachse, Rohberichte 2-2 und 2-3.
Ein Unity-delta-Ausreißer ohne entsprechend langes reales Intervall
In 2-2 meldete Sample 2182 des Segments 001 (nullbasiert), Unity-Frame 2404, UTC 2026-09-08T05:33:26.5608147Z, 592,428 ms Unity-delta. Stopwatch und Unity-Realtime messen am selben Sample jeweils 16,495 ms; die GC-Zähler bleiben gegenüber dem vorherigen Sample unverändert (0/0/0), und beide Samples tragen die Phase 0. In 2-3 liegt kein Unity-delta-Wert über 50 ms.
Damit ist erneut eine Diskrepanz der Unity-delta-Angabe belegt, kein 592-ms-Abstand zwischen den erfassten LateUpdate-Aufrufen. Die Ursache bleibt offen; auch die historischen Abweichungen werden dadurch nicht erklärt. Der v15-Lauf ergänzt die bestehenden v9-/v10-Nachweise für die beiden jetzt geänderten Kristall-Spawnwege. Er bestätigt keine anderen Missionen erneut und ist keine Messung von GPU-Zeit oder Display-Present-Zeitpunkten. Wegen des stummen, vorgerüsteten Prüfpiloten ersetzt er weder Gesamtmix-/Hörabnahme noch reale Gerätebedienung, regulär verdiente Kampagnenprogression oder Spieltests mit den Kindern. Der Playerlog enthält keine Runtime-/Shaderfehler, jedoch weiterhin die bekannte ComputeBuffer-Dispose-Warnung beim Beenden.
Tatsächlicher Windows-Lauf von v16: illustrierte Krabbenarme bestanden
Geprüft wurde 1-3 K.R.A.B.B.E. mit Playtest-v16 aus Quellstand 58f3785, gebaut im Buildlauf 080924. Die neuen illustrierten Arme, Gelenke und beweglichen Finger sind in diesem Build enthalten. Der erste Leistungslauf Artifacts/PerformanceQA/20260908-081249-9f67e839 schloss den Einsatz nach 39,4 aktiven Sekunden ab, wurde vom Verifier jedoch zu Recht abgewiesen: Der Rohbericht meldet eine Bildschirmgröße von 2563×1444 und einen Viewport von 2563×1442 statt der verlangten 1920×1080. Ein abgeschlossener Flug genügt nicht für die vorgegebene Leistungsmessung. Die Ursache der abweichenden Fenstergröße bleibt offen; der Erstlauf und seine Rohdaten bleiben erhalten und gelten nicht als bestandener 1080p-Nachweis.
Evidenz des verworfenen Erstlaufs: Rohbericht, Abschlussprotokoll, Playerlog.
Der unveränderte Build wurde mit frischem isoliertem Profil unter Artifacts/PerformanceQA/20260908-081746-88eb0c8c erneut geprüft. Dieser Lauf verwendete tatsächlich ein sichtbares, fokussiertes 1920×1080-Fenster mit gleich großem Viewport auf der NVIDIA GeForce RTX 4060 Laptop GPU, Direct3D 11, Intel Core i9-13980HX und Unity 6000.0.45f1. Der stumme Prüfpilot hatte vorbereitete Freischaltungen und alle Module auf Stufe 3.
./Tools/Verify-PerformanceCheck.ps1 -Root 'Artifacts/PerformanceQA/20260908-081746-88eb0c8c' -MissionIds 1-3
Der lesende Verifier wurde für beide gespeicherten Läufe erneut ausgeführt: Der Erstlauf scheitert weiterhin an den Metadaten; der Wiederholungslauf erfüllt die unveränderten Grenzen Mittelwert mindestens 55 fps, P95 höchstens 25 ms, Maximum höchstens 100 ms ohne -ReportOnly oder gelockerte Parameter.
| Mission | Messabschnitte | Gemessene Frames | Gemessene Dauer | Aktive Abschlusszeit | Mittelwert (Stopwatch) | P95 | Maximum |
|---|---|---|---|---|---|---|---|
| 1-3 K.R.A.B.B.E. | 1 | 4.584 | 38,208867 s | 39,3 s | 119,972145 fps | 8,612100 ms | 16,650600 ms |
Der zusammenhängende Messabschnitt folgt auf 120 ausgelassene Warmup-Frames, endet im Ergebnisbildschirm und erreicht den Speicherdeckel nicht. Die aktive Abschlusszeit aus checks.txt schließt den Warmup ein und lässt Fokuswartezeit aus. Die Kennwerte werden aus den Stopwatch-Rohintervallen neu berechnet und mit den monotonen Zeitstempeln abgeglichen. Es gab keinen realen oder Unity-delta-Wert über 50 ms. Im Laufordner liegen keine PNGs; die geschlossene Zeitachse enthält einen Messabschnitt und 15 Phasenwechsel, aber keine Capture-Ereignisse. Der Playerlog enthält keine Runtime-/Shaderfehler, jedoch die bekannte ComputeBuffer-Dispose-Warnung beim Beenden.
Evidenz des bestandenen Wiederholungslaufs: Rohbericht, Abschlusszeiten und COMPLETE-Marker, Zeitachse, Playerlog.
Der beobachtete Messtakt liegt hier bei ungefähr 120 fps und unterscheidet sich von den etwa 60 fps des v15-Laufs. Daraus wird kein Verbesserungsfaktor und keine Ursache durch die Grafikänderung abgeleitet. Die bestandene Prüfung gilt für diesen Krabbenkampf mit vorbereitetem Prüfpiloten auf diesem Rechner. Andere Missionen und historische Messergebnisse bleiben ihren jeweiligen Versionen zugeordnet. GPU-Zeit, Display-Present-Zeitpunkte, echter Gesamtmix, physische Eingaben, regulär verdiente Progression und die Spielabnahme mit den Kindern sind damit nicht geprüft.
Nachtrag v21: neue Krabben-Warnprojektion bestanden
Der Lauf Artifacts/PerformanceQA/20260908-123443-5a9b41a8 prüfte 1-3 K.R.A.B.B.E. mit Playtest-v21 aus Quellstand 807c9d4. Er erfüllt die unveränderten Verifiergrenzen mindestens 55 fps, P95 höchstens 25 ms, Maximum höchstens 100 ms. Bildschirm und Viewport betragen jeweils 1920×1080; gemessen wurde auf der NVIDIA GeForce RTX 4060 Laptop GPU mit Direct3D 11 und Unity 6000.0.45f1.
| Messabschnitte | Frames | Gemessene Dauer | Aktive Abschlusszeit | Mittelwert (Stopwatch) | P95 | Maximum |
|---|---|---|---|---|---|---|
| 1 | 4.590 | 38,249780315 s | 39,3 s | 120,000689 fps | 8,556400299 ms | 9,981599808 ms |
Diese Werte wurden unabhängig aus den gespeicherten realFrameTimesMs nachgerechnet: Dauer als Summe, FPS aus Framezahl/Dauer und P95 nach dem nächsten Rang. Die Abstände der monotonen Zeitstempel stimmen damit überein; der separate Unity-delta-P95 von 8,335197 ms wird hier nicht verwendet. Nach 120 ausgelassenen Warmup-Frames endet der zusammenhängende Abschnitt regulär im Ergebnisbildschirm, ohne Speicherdeckel. Es gibt keinen realen oder Unity-delta-Wert über 50 ms, keine PNGs und keine Capture-Ereignisse. Die geschlossene Zeitachse enthält 15 Phasenwechsel. Der Playerlog enthält keine Runtime-/Shaderfehler, jedoch die bekannte ComputeBuffer-Dispose-Warnung beim Beenden.
Evidenz: Rohbericht, Abschlusszeit und COMPLETE-Marker, Zeitachse, Playerlog.
Gemessen sind fokussierte sichtbare LateUpdate-Intervalle eines stummen, vorgerüsteten Prüfpiloten. Der Lauf belegt keine GPU-Ausführungszeit, Display-Present-Zeitpunkte, physische Gerätebedienung, Hör- oder Kinderabnahme. Aus dem Ergebnis wird kein Geschwindigkeitsgewinn gegenüber früheren Versionen abgeleitet; die historischen Nachweise behalten ihre jeweiligen Grenzen.
Nachtrag v22: frühere Ziele und gezielte Patrouillen
Artifacts/PerformanceQA/20260908-132457-102f58dc prüft 1-1/1-2 im Build Playtest-v22, Spielquellstand 820f310. Unveränderte Grenzen: mindestens 55 fps, P95 höchstens 25 ms, Maximum höchstens 100 ms. Bildschirm und Viewport jeweils 1920×1080, RTX 4060 Laptop GPU, Direct3D11, i9-13980HX, Unity 6000.0.45f1.
| Mission | Frames | Gemessene Dauer | Aktive Abschlusszeit | FPS aus Rohintervallen | P95 | Maximum |
|---|---|---|---|---|---|---|
| 1-1 | 3.024 | 25,200147591 s | 26,3 s | 119,999297 | 8,531000137 ms | 11,256500244 ms |
| 1-2 | 3.280 | 27,333389673 s | 28,4 s | 119,999753 | 8,531700134 ms | 9,181099892 ms |
Beide zusammenhängenden Abschnitte enden im Ergebnisbildschirm, nach jeweils 120 ausgelassenen Warmup-Frames und ohne erreichten Speicherdeckel. Der Verifier gleicht Rohintervalle und monotone Zeitstempel ab; die Tabelle wurde zusätzlich aus realFrameTimesMs neu berechnet. Keine PNGs, Capture-Ereignisse oder realen beziehungsweise Unity-delta-Intervalle über 50 ms. Geschlossene Zeitachse mit elf Phasenwechseln; reguläres Prozessende. Keine Runtime-/Shaderfehler, bekannte ComputeBuffer-Abschlusswarnung.
Rohbelege im Laufordner: Performance/20260908-112503-373-1-1-001.json, Performance/20260908-112529-646-1-2-002.json, Performance/Timeline/events.json, RenderedCheck/checks.txt mit COMPLETE-Marker und Player.log. Gemessen sind fokussierte sichtbare LateUpdate-Intervalle eines stummen, maximal ausgerüsteten Prüfpiloten, keine GPU-/Display-Zeitpunkte. Kein Nachweis menschlicher Eingaben, Klangqualität, Lernzeit oder Schwierigkeit; die separaten Pacing-Vergleiche verwenden Grundausrüstung. Kein behaupteter Geschwindigkeitsgewinn gegenüber anderen Missionen oder Versionen.