"DirectX 9 memory allocation bug" risolto col nuovo Windows

Il Fall Creators Update ha risolto un bug di allocazione della memoria legato alle DirectX 9 e alle schede video con molta VRAM.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Gli aggiornamenti dei sistemi operativi servono per introdurre nuove funzionalità, ma anche per sistemare i bug. Con il Fall Creators Update di Windows 10, Microsoft ha risolto un bug di allocazione della memoria legato alle librerie DirectX 9, un problema che più di qualche persona ha incontrato in questi anni, specie chi ha provato a moddare pesantemente giochi come Skyrim. Basta una ricerca su Google con "DirectX 9 memory allocation bug" per accorgersene.

Di cosa si tratta? Il sito Neowin ha spiegato e riassunto bene il problema. "In Windows 8 Microsoft ha cambiato il modo in cui le DirectX 9 riportavano la quantità di memoria disponibile ai giochi; mentre Windows 7 permetteva a un gioco di usare l'intera VRAM disponibile, Windows 8 limitava i giochi a esattamente 4 GB senza una ragione apparente".

fall creators update windows 10

Questo comportamento non è cambiato fino a oggi, né con Windows 8.1 né con le varie versioni di Windows 10. Il problema non interessava solo i possessori di schede con più di 4 GB di memoria, ma anche gli altri dato che l'API DirectX allocava la memoria come una combinazione di RAM e VRAM. Fortunatamente il Fall Creators Update disponibile da poche ore pone rimedio.

Jesse Natalie, Senior Software Engineer del team Direct3D di Microsoft, ha spiegato di aver preso coscienza del problema su Reddit quattro mesi fa. Dalla discussione s'intuisce che il fix non è stato di facile implementazione, perché creava altri problemi.

"L'API su Windows 7 non si comportava adeguatamente con GPU con più di 4 GB di VRAM. Durante il periodo di sviluppo di Windows 8, abbiamo notato che il trend della memoria avrebbe portato a un overflow di diversi valori a 32 bit, per cui ci siamo concentrati per impedirlo", ha spiegato Jesse Natalie a Neowin. L'intervento però si è rilevato non del tutto efficace dato che ha portato ai noti problemi di allocazione.

rx 580

"L'API in questione riporta semplicemente al software una stima di quanta memoria rimane disponibile per l'allocazione. Su Windows 7 quando ci sono più di 4 GB disponibili, questa API non riporta un'informazione accurata".

"Per esempio, se sono disponibili 4,1 GB di memoria, il software vedrà 0,1 GB disponibili. [...] Su Windows 8 e successivi, questa API riporterà solo 4 GB. Fino al cambiamento in questo Update, quando il contatore segnala 0 potete aspettarvi un fallimento nelle future richieste di allocazione della memoria".

Windows 10 Fall Creators Update riporta ora un valore molto più accurato della memoria disponibile, per cui chi ha a che fare con questo problema farebbe bene ad aggiornare. Per stessa ammissione dello sviluppatore "è improbabile" che il fix approdi su Windows 8.1 e precedenti.


Tom's Consiglia

Non hai ancora l'ultima versione di Windows? Provvedi, trovi la versione Home su Amazon.