Korištenje virtualnog adresnog prostora u razvoju igara za sustav Windows

Prijevod članka Prijevod članka
ID članka: 940105 - Pregledajte proizvode na koje se odnosi ovaj članak.
-

Da biste nastavili primati sigurnosna a?uriranja za Windows, provjerite koristite li sustav Windows Vista sa servisnim paketom Service Pack 2 (SP2). Dodatne informacije potra?ite na sljedecoj Microsoftovoj web-stranici: Pru?anje podr?ke prekida se za neke verzije sustava Windows

Proširi sve | Sažmi sve

Na ovoj stranici

SAŽETAK

U članku se govori o korištenju virtualnog adresnog prostora u razvoju igara za sustav Windows. Opisuju se i potencijalni problemi koji se mogu pojaviti kada pokrenete aplikacije u modernom operacijskom sustavu kao što je Windows Vista. Članak sadrži informacije o ažuriranju pomoću kojeg je moguće riješiti neke od tih problema. Dodatne informacije o tim problemima potražite na sljedećem Microsoftovu web-mjestu:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx

DODATNE INFORMACIJE

U modernom operacijskom sustavu kakav je Windows Vista aplikacije se pokreću unutar vlastitog privatnog virtualnog adresnog prostora. Veličina virtualnog adresnog prostora fiksno iznosi dva gigabajta (GB) za 32-bitne aplikacije. Količina dostupnog virtualnog adresnog prostora nije vezana uz količinu fizičke memorije u računalu.

Svaka dodjela memorije, preslikavanje datoteke ili biblioteka koju aplikacija učita zauzimaju dio virtualnog adresnog prostora. Kada aplikacija zauzme sav virtualni adresni prostor, nije moguće izvršavati dodatne operacije te vrste. Iako bi sve aplikacije trebale sadržavati programski kôd koji bi im omogućio odgovarajuću obradu pogrešaka pri dodjeli memorije, mnoge se aplikacije ne oporave kako treba od takvih pogrešaka. Stoga bi programi mogli postati nestabilni ili prestati reagirati nakon oporavka od takvih pogrešaka.

Postojeće igre i druge grafičke aplikacije često dodjeljuju virtualnu memoriju za kopiju resursa videomemorije koje aplikacija koristi. Aplikacija koristi tu kopiju za brz povrat prikaza ako se sadržaj videomemorije izgubi. Aplikacija, primjerice, koristi tu kopiju ako korisnik pritisne tipke ALT+TAB ili ako postavi računalo u stanje čekanja. DirectX obično upravlja kopijom umjesto aplikacije kada aplikacija stvori upravljani resurs. No aplikacija može i sama upravljati kopijom. Virtualna memorija koju kopija koristi izravno je proporcionalna resursima videomemorije koje aplikacija dodjeljuje.

Moderna grafička procesorska jedinica (GPU) može imati 512 MB ili više videomemorije. Aplikacije koje pokušaju iskoristiti te velike količine videomemorije mogu koristiti velik dio virtualnog adresnog prostora za memorijsku kopiju videoresursa. U 32-bitnim sustavima takve aplikacije mogu zauzeti sav dostupan virtualni adresni prostor.

Uvođenjem programa DirectX 10 i upravljačkog programa WDDM (Windows Display Driver Model) u sustavu Windows Vista, više nije potrebno da aplikacija održava kopiju svojih resursa u sistemskoj memoriji. Umjesto toga upravitelj videomemorije osigurava održavanje sadržaja svake dodjele videomemorije tijekom prijelaza prikaza. Sustav Windows Vista radi kompatibilnosti emulira stanje "uređaj izgubljen" za prethodne verzije programa DirectX 10 da bi se isključile promjene ponašanja API-ja vidljive u aplikaciji.

Radi virtualizacije videomemorije upravitelj videomemorije u sustavu Windows Vista dodjeljuje virtualni adresni raspon svakom resursu videomemorije. Taj je raspon koncepcijski sličan kopiji koju aplikacija može stvoriti. No upravitelj videomemorije upravlja procesom učinkovitije no što bi to činila aplikacija. Upravitelj videomemorije koristi virtualni adresni raspon za obradu prijelaza ili pretjerane potrošnje videomemorije. No virtualni adresni raspon obično je neiskorišten u sustavu koji ima mnogo videomemorije. Dok god je virtualni adresni raspon neiskorišten, ne dodjeljuje mu se fizička memorija. Nasuprot tomu, kopija sistemske memorije koja se održava u starijem modelu upravljačkog programa uvijek je potpuno napučena fizičkom memorijom.

Ako aplikacija stvori vlastitu memorijsku kopiju svojih videoresursa ili ako koristi DirectX 9 ili stariju verziju programa DirectX, virtualni adresni prostor sadrži virtualizirani raspon WDDM upravitelja videomemorije i kopiju aplikacije. Aplikacije koje koriste grafičke API-je koji prethode programu DirectX 10 i usmjerene su na grafičke procesorske jedinice s velikim količinama videomemorije lako mogu iscrpiti virtualni adresni prostor.

Da bi riješio taj problem, Microsoft je promijenio način na koji upravitelj videomemorije održava sadržaj resursa videomemorije. Ta se promjena uvodi da se ne bi morao koristiti trajni virtualni adresni raspon za svaku virtualiziranu dodjelu. Zbog novog pristupa samo dodjele koje se stvaraju kao one koje je moguće "zaključati" zauzimaju prostor u virtualnom adresnom prostoru aplikacije. Dodjele koje se ne stvaraju kao one koje je moguće "zaključati" ne zauzimaju prostor. Takav pristup osjetno smanjuje iskorišteni virtualni adresni prostor. Stoga aplikacija može raditi u sklopu konfiguracija s velikom količinom videomemorije bez dosezanja granica.

Iako taj pristup smanjuje potrošnju virtualnih adresa, on ne uklanja ograničenje od 2 GB virtualnog adresnog prostora kojem se mnoge aplikacije same brzo približavaju. Aplikacije će u konačnici dosegnuti to ograničenje iz drugih razloga.

Informacije o ažuriranju

Iz Microsoftova centra za preuzimanje možete preuzeti sljedeće datoteke:

32-bitne verzije sustava Windows Vista

Sažmi ovu slikuProširi ovu sliku
Preuzimanje
Odmah preuzmite paket 940105.

64-bitne verzije sustava Windows Vista

Sažmi ovu slikuProširi ovu sliku
Preuzimanje
Odmah preuzmite paket 940105.

Dodatne informacije o preuzimanju Microsoftovih datoteka za podršku potražite u članku iz Microsoftove baze znanja pod brojem
119591 Kako putem internetskih servisa preuzeti Microsoftove datoteke za podršku (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)
Microsoft je na toj datoteci izvršio protuvirusnu provjeru. Microsoft je koristio najnoviji softver za otkrivanje virusa dostupan na dan objave datoteke. Datoteka je pohranjena na poslužiteljima poboljšane sigurnosti koji sprječavaju neovlaštenu izmjenu datoteka.

Preduvjeti

Ako na računalu imate sustav Windows Vista i više grafičkih kartica, preporučujemo da najprije instalirate hitni popravak uvršten u članak pod brojem 936710 iz Microsoftove baze znanja. Dodatne informacije potražite u članku iz Microsoftove baze znanja pod brojem
936710 Pri korištenju aplikacije za DirectX 10 na računalu sa sustavom Windows Vista i više grafičkih kartica računalo ne koristi sekundarnu grafičku karticu (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)

Zahtjev za ponovnim pokretanjem

Nakon primjene tog ažuriranja morate ponovo pokrenuti računalo.

Informacije o zamjeni ažuriranja

To ažuriranje nije zamjena za prethodno objavljeno ažuriranje.

Informacije o datoteci

Engleska verzija tog ažuriranja ima atribute datoteka navedene na popisu u sljedećoj tablici (ili novije). Datumi i sati za te datoteke izraženi su u koordiniranom univerzalnom vremenu (UTC-u). Kada pregledavate podatke o datoteci, oni se pretvaraju u lokalno vrijeme. Da biste saznali razliku između koordiniranog univerzalnog vremena (UTC-a) i lokalnog vremena, na upravljačkoj ploči pogledajte karticu Time Zone (Vremenska zona) u sklopu modula Date and Time (Datum i vrijeme).
32-bitne verzije sustava Windows Vista
Sažmi ovu tablicuProširi ovu tablicu
Naziv datotekeVerzija datotekeVeličina datotekeDatumVrijemePlatforma
Cdd.dll6.0.6000.2064836 86427. srpnja 2007.2.17x86
Dxgkrnl.sys6.0.6000.20648621 05627. srpnja 2007.1.07x86
Update.mumNije primjenjivo178827. srpnja 2007.17.27Nije primjenjivo
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNije primjenjivo69627. srpnja 2007.17.27Nije primjenjivo
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNije primjenjivo895827. srpnja 2007.17.27Nije primjenjivo
64-bitne verzije sustava Windows Vista
Sažmi ovu tablicuProširi ovu tablicu
Naziv datotekeVerzija datotekeVeličina datotekeDatumVrijemePlatforma
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNije primjenjivo70027. srpnja 2007.17.27Nije primjenjivo
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNije primjenjivo922327. srpnja 2007.17.31Nije primjenjivo
Cdd.dll6.0.6000.2064847 10427. srpnja 2007.3.13x64
Dxgkrnl.sys6.0.6000.20648878 08027. srpnja 2007.1.19x64
Update.mumNije primjenjivo178827. srpnja 2007.17.27Nije primjenjivo

Svojstva

ID članka: 940105 - Posljednja izmjena: 10. listopada 2011. - Revizija: 4.0
ODNOSI SE NA:
  • 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
Ključne riječi: 
kbvistasp1fix atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbhotfixserver KB940105

Pošaljite povratne informacije

 

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