Využitie priestoru virtuálnych adries vo vývoji hier pre systém Windows Vista

Preklady článku Preklady článku
ID článku: 940105 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Táto aktualizácia znižuje využívanie priestoru virtuálnych adries v určitých situáciách. Po nainštalovaní tejto aktualizácie dôjde v aplikáciách, ktoré sa spúšťajú na hardvérových konfiguráciách s veľkou videopamäťou, k dosiahnutiu limitov priestoru virtuálnych adries s nižšou pravdepodobnosťou. V niektorých hardvérových konfiguráciách môže táto aktualizácia zlepšiť výkon aplikácií.

Táto aktualizácia je súčasťou balíka Windows Vista Service Pack 1 (SP1).

Ďalšie informácie o možnostiach získania najnovšieho balíka Service Pack pre systém Vista alebo návod na kontrolu, či je nainštalovaný najnovší balík Service Pack pre systém Vista, zobrazíte kliknutím na nasledujúce číslo článku databázy Microsoft Knowledge Base:
935791 Ako získať najnovší balík Service Pack pre systém Windows Vista

Ďalšie informácie pre pokročilých používateľov

Tento článok sa zaoberá využitím priestoru virtuálnych adries vo vývoji hier pre systém Windows. V článku sú popísané potenciálne problémy, ktoré sa môžu vyskytnúť, ak máte spustené aplikácie v modernom operačnom systéme, ako je napríklad systém Windows Vista. Článok obsahuje informácie o aktualizácii, ktorá môže vyriešiť niektoré z týchto problémov. Ďalšie informácie o týchto problémoch nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
V moderných operačných systémoch, akým je systém Windows Vista, sa aplikácie spúšťajú vo svojom vlastnom súkromnom priestore virtuálnych adries. Veľkosť priestoru virtuálnych adries je pre 32-bitové aplikácie zvyčajne nastavená na 2 gigabajty (GB). Veľkosť dostupného priestoru virtuálnych adries nesúvisí s tým, koľko fyzickej pamäte je v počítači.

Pri každom vyhradení pamäte, priradení súboru alebo načítaní knižnice aplikáciou sa obsadí určitá časť kapacity priestoru virtuálnych adries. Keď aplikácia obsadí celý svoj priestor virtuálnych adries aplikáciou, všetky ďalšie operácie zlyhajú. Aj keď by všetky aplikácie mali byť kódované tak, aby zvládli zlyhanie vyhradzovania pamäte, mnohé z aplikácií sa už po takomto zlyhaní neobnovia správne. Preto sa programy môžu po obnovení činnosti po týchto zlyhaniach stať nestabilnými, alebo môžu prestať reagovať.

Existujúce hry a ďalšie grafické aplikácie často vyhradzujú časť svojej virtuálnej pamäte pre kópiu prostriedkov videopamäte, ktoré aplikácia používa. Aplikácia používa túto kópiu na rýchle obnovenie zobrazenia v prípade straty obsahu videopamäte. Aplikácia používa túto kópiu napríklad v prípade, ak používateľ stlačí klávesy ALT+TAB alebo uvedie počítač do úsporného režimu. Ak aplikácia vytvára spravovaný prostriedok, kópiu namiesto aplikácie zvyčajne spravuje rozhranie DirectX Runtime. Aplikácia však môže spravovať kópiu aj sama. Veľkosť virtuálnej pamäte, ktorú kópia využíva, je priamo úmerná prostriedkom videopamäte, ktoré aplikácia vyhradzuje.

Kapacita videopamäte moderného procesora môže byť väčšia ako 512 MB. Aplikácie, ktoré sa pokúšajú využívať výhody veľkých videopamätí, môžu značné množstvo svojho priestoru virtuálnych adries používať na kópiu prostriedkov videopamäte v pamäti. V 32-bitových systémoch môžu tieto aplikácie využívať celý dostupný virtuálny priestor adries.

Po uvedení technológií DirectX 10 a WDDM (Windows Display Driver Model) v systéme Windows Vista už nie je nutné, aby aplikácia uchovávala kópiu svojich prostriedkov v systémovej pamäti. Namiesto toho teraz správca videopamäte kontroluje, či sa obsah každého vyhradenia videopamäte uchová pri prechodoch zobrazení. Z dôvodu kompatibility preto systém Windows Vista emuluje hlásenie o strate zariadenia pre všetky verzie produktu DirectX, ktoré sú staršie ako verzia DirectX 10, aby zabezpečil, že nedôjde k žiadnym zmenám v správaní rozhraní API, ktoré sa zobrazujú v aplikácii.

Aby bolo možné virtualizovať videopamäť, správca videopamäte v systéme Windows Vista každému prostriedku videopamäte priradí rozsah virtuálnych adries. Tento rozsah je koncepčne podobný kópii, ktorú môže vytvoriť aplikácia. Správca videopamäte však spravuje proces efektívnejšie, než by ho mohla spravovať aplikácia. Správca videopamäte používa rozsah virtuálnych adries na spracovanie prechodov alebo preťaženia videopamäte. Rozsah virtuálnych adries sa však v systéme, v ktorom je veľa videopamäte, zvyčajne nepoužíva. Ak sa rozsah virtuálnych adries nepoužíva, nie je preň vyhradená žiadna fyzická pamäť. Kópia systémovej pamäte, ktorá sa uchováva v staršom modeli ovládača, je naopak zaručene vyplnená fyzickou pamäťou.

Ak aplikácia vytvorí svoju vlastnú pamäťovú kópiu prostriedkov videopamäte, alebo ak používa verziu DirectX 9 alebo staršiu verziu, priestor virtuálnych adries obsahuje virtualizovaný rozsah správcu videopamäte WDDM a kópiu aplikácie. Aplikácie, ktoré používajú grafické rozhrania API staršie ako produkt DirectX 10, a ktoré využívajú procesory s veľkou kapacitou videopamäte, môžu rýchlo vyplniť svoj priestor virtuálnych adries.

Na odstránenie tohto problému spoločnosť Microsoft zmenila spôsob, akým správca videopamäte uchováva obsah prostriedkov videopamäte. Táto zmena bola vykonaná nato, aby sa trvalý rozsah virtuálnych adries nemusel používať pre každé virtualizované vyhradenie. Po uvedení nového prístupu už miesto v priestore virtuálnych adries aplikácie zaberajú iba tie vyhradenia, ktoré boli vytvorené ako uzamykateľné. Aplikácie, ktoré nie sú vytvorené ako uzamykateľné, nezaberajú žiadne miesto. Vďaka tomuto prístupu sa výrazne redukuje obsadenie priestoru virtuálnych adries. Aplikácia preto môže byť spustená v konfigurácii s veľkým množstvom videopamäte bez toho, aby dosiahla nastavený limit.

Aj keď tento prístup redukuje zabratý priestor virtuálnej adresy, neodstraňuje limit 2 GB pre priestor virtuálnych adries, ktorý rýchlo dosahujú mnohé aplikácie aj samostatne. Aplikácie prípadne môžu dosiahnuť povolený limit aj z iných dôvodov.

Informácie o aktualizácii

V Stredisku pre prevzatie softvéru spoločnosti Microsoft sú k dispozícii nasledovné súbory:

Windows Vista, 32-bitové verzie

Zbaliť tento obrázokRozbaliť tento obrázok
Prevziať
Prevziať balík 940105.

Windows Vista, 64-bitové verzie

Zbaliť tento obrázokRozbaliť tento obrázok
Prevziať
Prevziať balík 940105.

Ďalšie informácie o preberaní súborov technickej podpory spoločnosti Microsoft nájdete v nasledovnom článku databázy Microsoft Knowledge Base:
119591 Získanie súborov technickej podpory spoločnosti Microsoft zo služieb online (Toto prepojenie môže smerovať na obsah, ktorý je z časti alebo celý v angličtine)
Tento súbor bol skontrolovaný antivírusovým programom. Spoločnosť Microsoft použila pri kontrole tohto súboru najnovší antivírusový softvér, ktorý bol v dobe jeho publikovania k dispozícii. Súbor je uložený na zabezpečených serveroch, ktoré neumožňujú neoprávnené zmeny súborov.

Predpoklady

Ak máte systém Windows Vista spustený v počítači s viacerými grafickými kartami, odporúčame vám, aby ste najprv nainštalovali rýchlu opravu, ktorá je popísaná v článku 936710 databázy Microsoft Knowledge Base. Ďalšie informácie získate po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
936710 Ak je aplikácia DirectX 10 spustená v počítači so systémom Windows Vista a s viacerými grafickými kartami, v počítači sa nepoužíva sekundárna grafická karta

Požiadavka na reštartovanie

Po použití tejto aktualizácie je nutné reštartovať počítač.

Informácie o nahradení aktualizácie

Táto aktualizácia nenahrádza predchádzajúcu vydanú aktualizáciu.

Informácie o súboroch

Anglická verzia tejto aktualizácie má nasledovné (alebo novšie) atribúty súborov uvedené v nasledujúcej tabuľke. Dátumy a časy jednotlivých súborov sú uvedené vo formáte UTC (Coordinated Universal Time). Pri zobrazení informácií o súbore sa dátumy a čas prevedú na miestny čas. Ak chcete vyhľadať rozdiely medzi časom UTC a miestnym časom, použite kartu Časové pásmo v ovládacom paneli Dátum a čas.
Windows Vista, 32-bitové verzie
Zbaliť túto tabuľkuRozbaliť túto tabuľku
Názov súboruVerzia súboruVeľkosť súboruDátumČasPlatforma
Cdd.dll6.0.6000.2064836,86427. júl 200702:17x86
Dxgkrnl.sys6.0.6000.20648621,05627. júl 200701:07x86
Update.mumNie je uvedené1,78827. júl 200717:27Nie je uvedené
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNie je uvedené69627. júl 200717:27Nie je uvedené
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNie je uvedené8,95827. júl 200717:27Nie je uvedené
Windows Vista, 64-bitové verzie
Zbaliť túto tabuľkuRozbaliť túto tabuľku
Názov súboruVerzia súboruVeľkosť súboruDátumČasPlatforma
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNie je uvedené70027. júl 200717:27Nie je uvedené
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNie je uvedené9,22327. júl 200717:31Nie je uvedené
Cdd.dll6.0.6000.2064847,10427. júl 200703:13x64
Dxgkrnl.sys6.0.6000.20648878,08027. júl 200701:19x64
Update.mumNie je uvedené1,78827. júl 200717:27Nie je uvedené

Vlastnosti

ID článku: 940105 - Posledná kontrola: 4. januára 2010 - Revízia: 4.3
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • 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
Kľúčové slová: 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbhotfixserver KB940105

Odošlite odozvu

 

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