Virtuaalmälu aadressiruumi kasutamine Windowsi mänguarenduses

Artiklite tõlked Artiklite tõlked
Artikli ID: 940105 - Vaadake tooteid, millega see artikkel seostub.
Laienda kõik | Ahenda kõik

Sellel veebilehel

KOKKUVÕTE

Selles artiklis käsitletakse virtuaalmälu aadressiruumi kasutamist Windowsi mänguarenduses. Artiklis kirjeldatakse potentsiaalseid probleeme, mis võivad ilmneda rakenduste käitamisel mõnes tänapäevases opsüsteemis (nt Windows Vista). Artikkel sisaldab teavet värskenduse kohta, mis võib mõne neist probleemidest lahendada. Nende probleemide kohta lisateabe saamiseks külastage järgmist Microsofti veebisaiti:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx

LISATEAVE

Tänapäevases opsüsteemis (nt Windows Vistas) töötavad rakendused oma privaatses virtuaalmälu aadressiruumis. Virtuaalmälu aadressiruumi mahuks on 32-bitiste rakenduste korral fikseeritud enamasti 2 GB. Saadaoleva virtuaalmälu aadressiruumi maht pole seotud arvutisse paigaldatud füüsilise mälu mahuga.

Iga mälueraldus, failivastendus või rakenduse laaditud teek võtab selles virtuaalmälu aadressiruumis teatud määral ruumi. Kui rakendus on kogu oma virtuaalmälu aadressiruumi ära tarvitanud, siis täiendavad toimingud nurjuvad. Ehkki kõik rakendused peaksid olema kodeeritud mälujaotustõrgetega toime tulema, ei taastu paljud rakendused sellistest tõrgetest õigesti. Seetõttu võivad programmid pärast sellisest tõrkest taastumist muutuda ebastabiilseks või reageerimise lõpetada.

Olemasolevad mängud ja muud graafikarakendused eraldavad sageli virtuaalmälu rakenduse kasutatavate videomäluressursside koopia tarvis. Rakendus kasutab seda koopiat kuva kiireks taastamiseks juhul, kui videomälu sisu on kaotsi läinud. Näiteks kasutab rakendus seda koopiat siis, kui kasutaja vajutab klahvikombinatsiooni ALT+TAB või lülitab arvuti ootere?iimi. Kui rakendus loob hallatava ressursi, haldab koopiat rakenduse asemel enamasti DirectX-i käitusaeg. Rakendus võib aga koopiat ka ise hallata. Koopia kasutatav virtuaalmälu on otseses seoses rakenduse eraldatavate videomäluressurssidega.

Tänapäevasel graafikaprotsessoril (GPU) võib olla 512 MB või rohkem videomälu. Rakendused, mis proovivad sellises mahus videomälu ära kasutada, võivad videoressursside mälus talletatava koopia tarvis enda alla võtta suure osa oma virtuaalmälu aadressiruumist. 32-bitistes süsteemides võivad sellised rakendused ära tarvitada kogu saadaoleva virtuaalmälu aadressiruumi.

DirectX 10 ja Windows Vista WDDM-i (Windows Display Driver Model) kasutuselevõtuga pole rakendusel enam vaja ressursside koopiat süsteemimälus hoida. Selle asemel tagab videomäluhaldur iga videomälueraldise sisu säilitamise kuvaüleminekutel. Ühilduvuse huvides emuleerib Windows Vista selliste DirectX-i versioonide jaoks, mis on vanemad kui DirectX 10, "kaotsiläinud seadet". Nii tagatakse, et rakendusele nähtav API käitumine ei muutu.

Videomälu virtualiseerimiseks määrab videomäluhaldur Windows Vistas virtuaalmälu aadressivahemiku igale videomäluressursile. See vahemik on rakenduse loodava koopiaga olemuselt sarnane. Videomäluhaldur suudab aga protsessi hallata tõhusamalt kui rakendus. Videomäluhaldur kasutab virtuaalmälu aadressivahemikku üleminekute või videomälu ülekehtestuste käsitsemiseks. Kui süsteemis on palju videomälu, jääb virtuaalmälu aadressivahemik enamasti kasutamata. Kuni see virtuaalmälu aadressivahemik pole kasutusel, ei eraldata sellele füüsilist mälu. Vanema draiverimudeli korral säilitatav süsteemimälu koopia seevastu on füüsilise mäluga täielikult asustatud.

Kui rakendus loob oma videoressurssidest oma mälus asuva koopia või kui rakendus kasutab DirectX 9 või vanemat versiooni, sisaldab virtuaalmälu aadressiruum WDDM-i videomäluhalduri virtualiseeritud vahemikku ja rakenduse enda koopiat. Rakendused, mille kasutatavad graafika-API-d on vanemad kui DirectX 10 ja mida kasutatakse eeskätt mahuka videomäluga graafikaprotsessoritega, võivad neile eraldatud virtuaalmälu aadressiruumi hõlpsasti ammendada.

Probleemi lahendamiseks muudab Microsoft viisi, kuidas videomäluhaldur säilitab videomälu ressursside sisu. Muudatusega soovitakse tagada, et iga virtuaalmälueraldise puhul poleks vaja kasutusele võtta püsivat virtuaalmälu aadressivahemikku. Selles uues olukorras võtavad rakenduse virtuaalmälu aadressiruumis ruumi üksnes "lukustatavana" loodud eraldised. Eraldised, mis pole loodud "lukustatavatena", ei võta enda alla ruumi. See lähenemine vähendab kasutatavat virtuaalmälu aadressiruumi märkimisväärselt. Seetõttu saab rakendus töötada ka suure videomäluga konfiguratsioonides ilma talle eraldatud piire ületamata.

Ehkki see lähenemine vähendab virtuaalmälu aadressiruumi tarbimist, ei kaota see 2 GB virtuaalse aadressiruumi limiiti, mille ärakasutamiseni on lähenemas paljud rakendused. Lõpuks jõuavad rakendused mõnel muul põhjusel ikkagi selle piirini.

Värskendusteave

Microsofti allalaadimiskeskuses on allalaadimiseks saadaval järgmised failid:

Windows Vista, 32-bitised versioonid

Ahenda see piltLaienda see pilt
Allalaadimine
Laadige pakett 940105 kohe alla.

Windows Vista, 64-bitised versioonid

Ahenda see piltLaienda see pilt
Allalaadimine
Laadige pakett 940105 kohe alla.

Microsofti tugifailide allalaadimise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
119591 Microsofti tugifailide hankimine võrguteenuste kaudu (selle artikli sisu võib olla ingliskeelne)
Microsoft kontrollis seda faili viiruste leidmiseks. Microsoft kasutas uusimat viirusetõrjetarkvara, mis oli faili postitamise päeval saadaval. Faili talletatakse täiustatud turvalisusega serverites, kus volitamata isikud seda faili muuta ei saa.

Eeltingimused

Kui teie Windows Vista opsüsteemi kasutavas arvutis töötab mitu graafikakaarti, on soovitatav esmalt installida käigultparandus, mida hõlmab Microsofti teabebaasi (Knowledge Base) artikkel 936710. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
936710 Kui DirectX 10 rakendus töötab Windows Vistat kasutavas arvutis, kuhu on paigaldatud on mitu graafikakaarti, ei kasuta arvuti lisagraafikakaarti (selle artikli sisu võib olla ingliskeelne)

Taaskäivitusnõue

Pärast selle värskenduse rakendamist peate arvuti taaskäivitama.

Värskenduse asendamise teave

See värskendus ei asenda varem välja antud värskendusi.

Faili teave

Selle värskenduse ingliskeelne versioon sisaldab järgmises tabelis loetletud (või uuemaid) failiatribuute. Nende failide kuupäevad ja kellaajad on esitatud UTC-aja järgi. Failiteabe kuvamisel teisendatakse need kohalikuks ajaks. UTC-aja ja kohaliku aja erinevuste väljaselgitamiseks klõpsake juhtpaneelil tööriista Date and Time (Kuupäev ja kellaaeg) vahekaarti Time Zone (Ajavöönd).
Windows Vista, 32-bitised versioonid
Ahenda see tabelLaienda see tabel
Faili nimiFaili versioonFaili mahtKuupäevKellaaegPlatvorm
Cdd.dll6.0.6000.2064836,86427. juuli 200702:17x86
Dxgkrnl.sys6.0.6000.20648621,05627. juuli 200701:07x86
Update.mumPole saadaval1,78827. juuli 200717:27Pole saadaval
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestPole saadaval69627. juuli 200717:27Pole saadaval
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestPole saadaval8,95827. juuli 200717:27Pole saadaval
Windows Vista, 64-bitised versioonid
Ahenda see tabelLaienda see tabel
Faili nimiFaili versioonFaili mahtKuupäevKellaaegPlatvorm
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestPole saadaval70027. juuli 200717:27Pole saadaval
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestPole saadaval9,22327. juuli 200717:31Pole saadaval
Cdd.dll6.0.6000.2064847,10427. juuli 200703:13x64
Dxgkrnl.sys6.0.6000.20648878,08027. juuli 200701:19x64
Update.mumPole saadaval1,78827. juuli 200717:27Pole saadaval

Atribuudid

Artikli ID: 940105 - Viimati läbi vaadatud: 10. oktoober 2011 - Redaktsioon: 4.0
KEHTIB JÄRGMISE LÕIGU KOHTA:
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Business 64-bit edition
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Starter
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
Märksõnad: 
kbvistasp1fix atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbhotfixserver KB940105

Andke tagasisidet

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com