Použití virtuálního adresního prostoru při vývoji her pro systém Windows Vista

Překlady článku Překlady článku
ID článku: 940105 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tato aktualizace snižuje využívání virtuálního adresního prostoru v určitých scénářích. Po instalaci této aktualizace bude u aplikací, které běží v hardwarových konfiguracích s velkým množstvím videopaměti, méně pravděpodobné, že by dosáhly limitů virtuálního adresního prostoru. Aktualizace může zlepšit výkon aplikací v určitých hardwarových konfiguracích.

Tato aktualizace je zahrnutá v aktualizaci Windows Vista Service Pack 1 (SP1).

Další informace o získání nejnovější aktualizace Service Pack pro systém Vista a ověření, zda je nejnovější aktualizace Service Pack pro systém Vista nainstalovaná, naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
935791 Jak získat nejnovější aktualizaci Service Pack pro systém Windows Vista

Další informace pro pokročilé uživatele

Tento článek popisuje použití virtuálního adresního prostoru při vývoji her pro systém Windows. Článek popisuje potenciální problémy, které mohou nastat při spouštění aplikací v moderním operačním systému, jako je systém Windows Vista. Článek obsahuje informace o aktualizaci, která může některé z těchto problémů odstranit. Další informace o těchto problémech naleznete na následujícím webu společnosti Microsoft:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
V moderním operačním systému, jako je systém Windows Vista, se aplikace spouštějí ve svých vlastních virtuálních adresních prostorech. Velikost virtuálního adresního prostoru je pevná a činí 2 GB pro 32bitové aplikace. Dostupná velikost virtuálního adresního prostoru nemá souvislost s množstvím fyzické paměti v počítači.

Každé přidělení paměti, mapování souboru nebo knihovna zavedená aplikací spotřebovávají místo z tohoto virtuálního adresního prostoru. Když aplikace spotřebuje celý svůj virtuální adresní prostor, každá další taková operace selže. Ačkoli by měly být všechny aplikace naprogramovány tak, aby obsloužily selhání přidělení paměti, mnoho aplikací se z takových selhání nezotaví správně. Proto se mohou programy stát nestabilními nebo přestat odpovídat poté, co se zotaví z takových selhání.

Stávající hry a další grafické aplikace často přidělují virtuální paměť kopii prostředků grafické paměti, které jsou používané aplikací. Aplikace používá tuto kopii k rychlému obnovení obrazu v případě, že dojde ke ztrátě obsahu grafické paměti. Aplikace například používá tuto kopii, stiskne-li uživatel kombinaci kláves ALT+TAB nebo pokud uživatel přepne počítač do úsporného režimu. Modul runtime rozhraní DirectX obvykle spravuje kopii za aplikaci, když aplikace vytvoří spravovaný prostředek. Aplikace však může spravovat kopii sama. Virtuální paměť, kterou kopie používá, je přímo úměrná prostředkům grafické paměti přiděleným aplikací.

Moderní grafické karty mohou mít 512 MB a více grafické paměti. Aplikace, které se pokusí využít výhod tak velké grafické paměti, mohou použít velkou část svého virtuálního adresního prostoru pro uložení kopie svých grafických prostředků do paměti. Ve 32bitových systémech mohou takové aplikace spotřebovat celý dostupný virtuální adresní prostor.

Po zavedení rozhraní DirectX 10 a modelu WDDM (Windows Display Driver Model) v systému Windows Vista již aplikace nadále nemusí udržovat kopii svých prostředků v systémové paměti. Namísto toho zajistí údržbu obsahu každého přidělení grafické paměti při změnách obrazu správce grafické paměti. Z důvodu kompatibility systém Windows Vista emuluje ztrátu zařízení pro verze rozhraní DirectX starší než DirectX 10, aby bylo zajištěno, že nedojde k viditelným změnám chování rozhraní API aplikací.

Správce grafické paměti v systému Windows Vista přiřazuje při virtualizaci grafické paměti rozsah virtuálních adres každému prostředku grafické paměti. Tento rozsah je koncepčně podobný kopii, kterou by mohla udělat aplikace. Správce grafické paměti však proces spravuje efektivněji, než by to mohla udělat aplikace. Správce grafické paměti používá rozsah virtuálních adres k obsluze změn nebo většího celkového počtu stránek grafické paměti. V počítači s velkou grafickou pamětí je však rozsah virtuálních adres obvykle nevyužitý. Dokud je rozsah virtuálních adres nevyužitý, není mu přiřazena žádná fyzická paměť. Na druhé straně, u kopie systémové paměti udržované ve starším modelu ovladače je garantováno úplné zaplnění fyzickou pamětí.

Vytvoří-li aplikace v paměti vlastní kopii svých grafických prostředků nebo používá-li rozhraní DirectX 9 či předchozí verzi, obsahuje virtuální adresní prostor virtualizovaný rozsah správce grafické paměti ovladače WDDM a kopii aplikace. Aplikace, které používají grafická rozhraní API starší než rozhraní DirectX 10 a využívají grafické karty s větším množstvím grafické paměti, mohou snadno vyčerpat svůj virtuální adresní prostor.

Pro vyřešení tohoto problému společnost Microsoft změnila způsob, jakým správce grafické paměti udržuje obsah prostředků grafické paměti. Tato změna byla vykonána tak, že stálý rozsah virtuálních adres nemusí být použit pro každé virtualizované přidělení. S tímto novým přístupem spotřebovávají místo ve virtuálním adresním prostoru aplikace pouze přidělení, která jsou vytvořena jako zamykatelná. Přidělení, která nejsou vytvořena jako zamykatelná, prostor nespotřebovávají. Tento přístup významně snižuje použitý virtuální adresní prostor. Proto může aplikace pracovat v konfiguracích s velkou grafickou pamětí, aniž by dosáhla omezení.

Ačkoli tento přístup snižuje spotřebu virtuálních adres, neodstraňuje omezení adresního prostoru na 2 GB, kterému se mnoho aplikací stejně přiblíží. Případně aplikace dosáhnou omezení z jiných důvodů.

Informace o aktualizaci

Na webu služby Stažení softwaru jsou k dispozici ke stažení následující soubory:

Windows Vista, 32bitové verze

Zmenšit tento obrázekZvětšit tento obrázek
Stáhnout
Stáhnout balíček 940105

Windows Vista, 64bitové verze

Zmenšit tento obrázekZvětšit tento obrázek
Stáhnout
Stáhnout balíček 940105

Další informace o tom, jak stahovat soubory podpory společnosti Microsoft, naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
119591 Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Tento soubor byl zkontrolován na výskyt virů. Společnost Microsoft použila ke kontrole tohoto souboru nejnovější antivirový software, který byl v době jeho publikování k dispozici. Soubor je uložený na zabezpečených serverech neumožňujících neoprávněné změny souborů.

Požadavky

Používáte-li počítač se systémem Windows Vista, který má více grafických karet, doporučujeme nejprve nainstalovat opravu hotfix popsanou v článku 936710 znalostní báze Microsoft Knowledge Base. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
936710 Když běží aplikace využívající rozhraní DirectX 10 v počítači se systémem Windows Vista, který obsahuje více grafických karet, počítač nepoužívá sekundární grafickou kartu

Požadavek na restartování

Po instalaci této aktualizace je třeba restartovat počítač.

Informace o nahrazení aktualizace

Tato aktualizace nenahrazuje žádnou dříve vydanou aktualizaci.

Informace o souborech

Anglická verze této aktualizace má následující nebo vyšší atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Při zobrazení informací o souborech jsou data a čas převedeny na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo na panelu Datum a čas v okně Ovládací panely.
Windows Vista, 32bitové verze
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Cdd.dll6.0.6000.2064836 86427. 7. 200702:17x86
Dxgkrnl.sys6.0.6000.20648621 05627. 7. 200701:07x86
Update.mumNelze použít1 78827. 7. 200717:27Nelze použít
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNelze použít69627. 7. 200717:27Nelze použít
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNelze použít8 95827. 7. 200717:27Nelze použít
Windows Vista, 64bitové verze
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNelze použít70027. 7. 200717:27Nelze použít
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNelze použít9 22327. 7. 200717:31Nelze použít
Cdd.dll6.0.6000.2064847 10427. 7. 200703:13x64
Dxgkrnl.sys6.0.6000.20648878 08027. 7. 200701:19x64
Update.mumNelze použít1 78827. 7. 200717:27Nelze použít

Vlastnosti

ID článku: 940105 - Poslední aktualizace: 10. října 2011 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbHotfixServer KB940105

Dejte nám zpětnou vazbu

 

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