Zastosowanie wirtualnej przestrzeni adresowej w opracowywaniu gier systemu Windows

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 940105 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Niniejsza aktualizacja w pewnych scenariuszach zmniejsza wykorzystanie wirtualnej przestrzeni adresowej. Po zainstalowaniu tej aktualizacji może zmniejszyć się prawdopodobieństwo przekroczenia limitu wirtualnej przestrzeni adresowej przez aplikacje uruchamiane w konfiguracjach sprzętu z dużą ilością pamięci wideo. Aktualizacja ta w pewnych konfiguracjach sprzętu może zwiększyć wydajność aplikacji.

Ta aktualizacja jest dołączona do dodatku Service Pack 1 (SP1) dla systemu Windows Vista.

Aby dowiedzieć się więcej na temat sposobu uzyskiwania najnowszego dodatku Service Pack dla systemu Windows Vista oraz sprawdzania, czy ten dodatek jest zainstalowany, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
935791 Jak uzyskać najnowszy dodatek Service Pack dla systemu Windows Vista

Więcej informacji dla użytkowników zaawansowanych

W niniejszym artykule omówiono zastosowanie wirtualnej przestrzeni adresowej w opracowywaniu gier systemu Windows. W tym artykule opisano potencjalne problemy, które mogą wystąpić w sytuacji, gdy aplikacje są uruchamiane w nowym systemie operacyjnym, takim jak Windows Vista. Ten artykuł zawiera informacje na temat aktualizacji, która może rozwiązać niektóre z tych problemów. Aby uzyskać więcej informacji o tych problemach, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
W nowych systemach operacyjnych, takich jak Windows Vista, aplikacje są uruchamiane we własnej prywatnej wirtualnej przestrzeni adresowej. Zazwyczaj rozmiar takiej przestrzeni jest ustalony i wynosi 2 gigabajty (GB) w przypadku aplikacji 32-bitowych. Ilość dostępnej wirtualnej przestrzeni adresowej nie jest powiązana z ilością pamięci fizycznej na komputerze.

Każdy przydział pamięci, mapowanie plików lub biblioteka ładowane przez aplikację zużywają miejsce tej przestrzeni. Gdy aplikacja zużyje całą przeznaczoną dla niej przestrzeń, wszelkie dodatkowe operacje kończą się niepowodzeniem. Mimo że wszystkie aplikacje powinny być zakodowane w taki sposób, aby obsługiwać awarie przydziału pamięci, wiele aplikacji nie jest prawidłowo przywracanych do właściwego stanu po takich awariach. Dlatego w takiej sytuacji programy mogą być niestabilne lub przestać odpowiadać.

Dostępne gry i inne aplikacje graficzne często przydzielają pamięć wirtualną dla kopii zasobów pamięci wideo używanej przez aplikację. Aplikacja używa tej kopii do szybkiego przywracania wyświetlania w przypadku, gdy zawartość pamięci wideo zostanie utracona. Na przykład aplikacja używa tej kopii wtedy, gdy użytkownik naciśnie klawisze ALT+TAB lub przełączy komputer do stanu wstrzymania. Zazwyczaj wersja wykonawcza programu DirectX zarządza kopią w imieniu aplikacji, gdy aplikacja tworzy zasób zarządzany. Aplikacja może jednak również zarządzać kopią samodzielnie. Pamięć wirtualna używana przez kopię jest wprost proporcjonalna do zasobów pamięci wideo przydzielanych przez aplikację.

Nowoczesne procesory przetwarzania grafiki (GPU) mogą mieć 512 megabajtów (MB) lub więcej pamięci wideo. Aplikacje, które próbują korzystać z tak dużej ilości pamięci wideo, mogą używać dużej proporcji wirtualnej przestrzeni adresowej dla kopii swoich zasobów wideo tworzonej w pamięci. W systemach 32-bitowych takie aplikacje mogą zużyć całą dostępną wirtualną przestrzeń adresową.

Wraz z wprowadzeniem programu DirectX 10 i modelu WDDM (Windows Driver Display Model) nie jest już konieczne, aby aplikacja przechowywała kopię swoich zasobów w pamięci systemu. Zamiast tego menedżer pamięci wideo zapewnia, że zawartość każdego przydziału pamięci jest zachowywana między przejściami wyświetlacza. Z przyczyn zgodności system Windows Vista emuluje komunikat „urządzenie utracone” dla wersji programu DirectX starszych niż DirectX 10 w celu zapewnienia, że nie zmienią się zachowania interfejsu API właściwe dla aplikacji.

Aby dokonać wirtualizacji pamięci wideo, menedżer pamięci wideo w systemie Windows Vista przypisuje zakres adresów wirtualnych do każdego zasobu pamięci wideo. Ten zakres jest z definicji podobny do kopii tworzonej przez aplikację. Menedżer pamięci wideo zarządza jednak procesem wydajniej niż aplikacja. Używa on zakresu adresów wirtualnych, aby obsługiwać przejścia lub nadmierne zobowiązania pamięci wideo. Zakres adresów wirtualnych jest jednak zazwyczaj nieużywany w systemie, w którym dostępna jest duża ilość pamięci wideo. Dopóki ten zakres jest nieużywany, nie jest przydzielana dla niego pamięć fizyczna. Kopia pamięci systemu przechowywana w starszym modelu sterownika jest natomiast całkowicie wypełniana pamięcią fizyczną.

Jeżeli aplikacja utworzy swoją własną kopię zasobów wideo w pamięci albo używa programu DirectX 9 lub starszej wersji, wirtualna przestrzeń adresowa zawiera zakres zwirtualizowany przez menedżera pamięci wideo WDDM i kopię aplikacji. Aplikacje korzystające z graficznych interfejsów API starszych niż DirectX 10 oraz których docelowe procesory GPU mają duże ilości pamięci wideo mogą łatwo przekroczyć dostępną ilość wirtualnej przestrzeni adresowej.

Aby rozwiązać ten problem, firma Microsoft zmieniła sposób, w jaki menedżer pamięci wideo przechowuje zawartość zasobów pamięci wideo. Zmiana polega na tym, że stały zakres adresów wirtualnych nie musi być używany w przypadku każdej zwirtualizowanej alokacji. Dzięki temu tylko alokacje podlegające blokowaniu zużywają miejsce w wirtualnej przestrzeni adresowej aplikacji. Alokacje niepodlegające blokowaniu nie zużywają miejsca. Ta zmiana znacznie zmniejsza wykorzystywaną wirtualną przestrzeń adresową. Dlatego aplikacje można uruchamiać w konfiguracjach z dużą pamięcią wideo bez osiągania limitów.

Mimo że w wyniku tej zmiany zostaje zmniejszone zużycie adresów wirtualnych, nie powoduje ona zniesienia limitu 2 gigabajtów (GB) wirtualnej przestrzeni adresowej, do której wiele aplikacji samodzielnie uzyskuje dostęp. Aplikacje mogą osiągnąć limit również z innych przyczyn.

Informacje dotyczące aktualizacji

Następujące pliki są udostępnione do pobrania w Centrum pobierania firmy Microsoft:

System Windows Vista, wersje 32-bitowe

Zwiń ten obrazekRozwiń ten obrazek
Pobierz
Pobierz pakiet 940105.

System Windows Vista, wersje 64-bitowe

Zwiń ten obrazekRozwiń ten obrazek
Pobierz
Pobierz pakiet 940105.

Aby uzyskać więcej informacji dotyczących sposobu pobierania plików pomocy technicznej Microsoft, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
119591 Jak uzyskać pliki Pomocy technicznej Microsoft w usługach online
Firma Microsoft przeskanowała ten plik w poszukiwaniu wirusów. Firma Microsoft użyła najnowszego oprogramowania do wykrywania wirusów dostępnego w dniu opublikowania pliku. Plik jest przechowywany na serwerach o podwyższonym poziomie zabezpieczeń, które utrudniają wprowadzanie nieautoryzowanych zmian w pliku.

Wymagania wstępne

W przypadku korzystania z komputera z systemem Windows Vista, w którym zainstalowano wiele kart graficznych, zalecana jest wcześniejsza instalacja poprawki dołączonej do artykułu 936710 z bazy wiedzy Microsoft Knowledge Base. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
936710 Podczas korzystania z aplikacji DirectX na komputerze z systemem Windows Vista, w którym zainstalowanych jest wiele kart graficznych, komputer nie używa pomocniczej karty graficznej

Wymagania dotyczące ponownego uruchamiania

Po zastosowaniu tej aktualizacji należy ponownie uruchomić komputer.

Informacje dotyczące zastępowania aktualizacji

Ta aktualizacja nie zastępuje uprzednio wydanej aktualizacji.

Informacje o pliku

Wersja angielskojęzyczna tej aktualizacji ma atrybuty plików pokazane w poniższej tabeli (lub nowsze). Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC). Są one zamieniane na czas lokalny po wyświetleniu informacji o pliku. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy skorzystać z karty Strefa czasowa narzędzia Data i godzina w Panelu sterowania.
Aktualizacja systemu Windows Vista, wersje 32-bitowe
Zwiń tę tabelęRozwiń tę tabelę
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Cdd.dll6.0.6000.2064836 86427-lip-200702:17x86
Dxgkrnl.sys6.0.6000.20648621 05627-lip-200701:07x86
Update.mumNie dotyczy1 78827-lip-200717:27Nie dotyczy
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNie dotyczy69627-lip-200717:27Nie dotyczy
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNie dotyczy8 95827-lip-200717:27Nie dotyczy
Aktualizacja systemu Windows Vista, wersje 64-bitowe
Zwiń tę tabelęRozwiń tę tabelę
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNie dotyczy70027-lip-200717:27Nie dotyczy
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNie dotyczy9 22327-lip-200717:31Nie dotyczy
Cdd.dll6.0.6000.2064847 10427-lip-200703:13x64
Dxgkrnl.sys6.0.6000.20648878 08027-lip-200701:19x64
Update.mumNie dotyczy1 78827-lip-200717:27Nie dotyczy

Właściwości

Numer ID artykułu: 940105 - Ostatnia weryfikacja: 14 czerwca 2008 - Weryfikacja: 4.2
Informacje zawarte w tym artykule dotyczą:
  • 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
Słowa kluczowe: 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbhotfixserver KB940105

Przekaż opinię

 

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