Microsoft hat das Game Development Kit (GDK) für die Märzreihe in einer weiteren Wartungsfassung aktualisiert. Das am 31. Mai 2024 veröffentlichte March 2024 GDK Update 2 behebt zwei konkrete Fehler in der System- und der Networking-Schicht. Die Fassung schließt an das ursprüngliche March 2024 GDK sowie an Update 1 an und richtet sich an Entwickler, die Titel für Windows 11 und Windows 10 sowie für die Xbox-Plattformen umsetzen.
System- und Networking-Korrekturen in Update 2
Auf der Systemebene beseitigt das Update einen Sharing-Violation-Fehler, der beim kombinierten Einsatz von XLaunchNewGame mit dem API-Satz XGameSaveFiles auftrat. In dieser Konstellation kam es zu einer Zugriffsverletzung, die den Zugang zu gespeicherten Inhalten verhinderte. Mit der korrigierten Fassung lassen sich beide Schnittstellen gemeinsam ohne den beschriebenen Konflikt verwenden.
In der Networking-Komponente betrifft die zweite Korrektur die xCurl-Bibliothek. Dort konnten Abstürze entstehen, wenn die Aufrufe curl_multi_cleanup und curl_multi_info_read nebenläufig erfolgten. Update 2 entschärft diese Race Condition. Parallele Zugriffe auf die genannten Funktionen führen damit nicht mehr zum Programmabbruch.
GameInput als separates NuGet-Paket
Eine strukturelle Änderung der Märzreihe wirkt über Update 2 hinaus fort. Bereits mit dem ursprünglichen March 2024 GDK liefert der Installer die GameInput-Bibliotheken nicht mehr mit. Stattdessen ist das NuGet-Paket Microsoft.GameInput separat einzubinden. Entwickler müssen die zugehörige Redistributable-MSI ausführen und in die eigenen Installer aufnehmen, um die Kompatibilität über die unterstützten Windows-Versionen sicherzustellen. Diese als Breaking Change ausgewiesene Umstellung verlagert die Verteilung der Eingabe-Laufzeit in die Verantwortung des jeweiligen Titels. Wie eng GameInput und GDK inzwischen mit gängigen Engine-Workflows verzahnt sind, zeigte Microsoft später auch bei der Vorstellung neuer GDK-Plug-ins für Unreal-Projekte.
Update 1 hatte zuvor einen unbeabsichtigten Zlib-Symbolexport in der libHttpClient.lib korrigiert, der bei Titeln mit XSAPI und Zlib zu Linker-Fehlern führte. Hinzu kam eine behobene Networking-Regression rund um CURLOPT_INFILESIZE bei Chunked Transfer Encoding. Das March 2024 GDK selbst hatte unter anderem eine Race Condition in der Verarbeitung der Task Queue ausgeräumt, die bei der Titel-Suspendierung Failfast-Abstürze auslösen konnte. Die Details zu den einzelnen Fassungen sind in den GitHub-Release-Notes dokumentiert.