Sdílená paměť mezi grafickou kartou a systémem

Pokud jste se podívali do nastavení svojí grafické karty, možná vás překvapilo, kolik sdílí vaší operační paměti. Pokud máte obavu, že kvůli tomu máte operační paměti méně, nemusíte mít strach: nová koncepce ovladačů grafických karet WDDM totiž umí s pamětí počítače pracovat chytře.

Nastavení grafické karty

Grafická karta dokáže díky ovladačům WDDM lépe využívat
operační paměť, aniž by ji musela mít vyhrazenou

V diskuzi (zde) jsme narazili na zajímavý úkaz: grafická karta se "hlásí" k mimořádně velkému množství paměti. Znamená to, že by tato paměť byla pro programy nepoužitelná? Musíme provést nějaké nastavení, aby si grafická karta vzala méně paměti?

Nikoli, jak je ostatně vysvětleno v tomto dokumentu (Microsoft Word, 989 kB) od Microsoftu. Před pochopením toho, jak funguje přidělování paměti, je nutné znát dvě různé paměti:

Vyhrazená paměť (Dedicated memory) je paměť grafické karty, která je zpravidla přítomna přímo na grafické kartě. Může to však být i část operační paměti, pokud je napevno vyhrazena, například v BIOSu. Tato paměť nikdy nemůže být využita pro jiný program, vždy je využívána jenom grafickou kartou. Pokud jí grafická karta tolik nepotřebuje, leží ladem.

Oproti tomu sdílená paměť (Shared memory) je část operační paměti, kterou však grafická karta může využít. Běžně je však k dispozici systému, může být použita na běh jakéhokoli programu nebo schraňování dat. Může se také stát, že nebude dostupná pro grafickou kartu, protože prostě bude obsazena.

Podobně, jako jsou dva typy pamětí, které může mít grafická karta k dispozici, jsou i dvě možnosti, jak jsou grafické karty v počítači přítomny.

Samostatné grafické karty se připojují přes sběrnici (PCIe, AGP nebo PCI) a mají většinou samostatnou vyhrazenou paměť, do které mají velmi rychlý přístup (díky tomu mohou tyto karty poskytovat vysoký výkon zejména ve hrách). Mohou však využívat i část operační paměti - přistupují k ní však skrze sběrnici a proto je přístup do takové paměti pomalejší.

Oproti tomu integrované grafické karty mají svůj procesor (GPU) umístěn na základní desce jako součást tzv. severního mostu (North Bridge). Nemají svoji operační paměť a proto musí vždy mít alespoň trochu operační paměti vyhrazené pro sebe. Další část paměti však také mohou sdílet.

Integrovaná grafická karta si může vyhradit část operační paměti dvěma způsoby. Může to zařídit už BIOS, kdy ještě před zavedením operačního systému (tzv. POST, power-on self-test) dojde k vyhrazení části operační paměti - tato část pak už později není přístupná počítači, je už vyhrazena jen a jen grafické kartě. Tato vyhrazená (rezervovaná) paměť se tak nebude dále zahrnovat do celkové operační paměti počítače a v okamžiku, kdy si ve Windows vypíšete množství osazené operační paměti v počítači, uvidíte už sníženou hodnotu.

Jak se tedy paměť počítá?

Celková operační paměť (Total system memory): celkové množství paměti RAM osazené na základní desce počítače, která je k dispozici operačnímu systému. Tato hodnota je však snížena o množství paměti vyhrazené BIOSem pro integrovanou grafickou kartu.
Celková operační paměť použitelná pro grafickou kartu (Total system memory available for graphics use): Vista odečte od celkové operační paměti 512 MB a zbytek vydělí dvěma. Tolik paměti je schopna poskytnou grafické kartě (pokud je to méně, než 64 MB, pak poskytne 64 MB).
Vyhrazená grafická paměť (Dedicated video memory): veškerá paměť vyhrazená pro grafickou kartu, tedy buď paměť umístěná na grafické kartě, nebo operační paměť vyhrazená pro grafickou kartu (buď BIOSem při spuštění počítače, nebo ovladače při spuštění operačního systému)
Vyhrazená operační paměť (Dedicated system memory): Veškerá paměť poskytnutá z operační paměti.
Sdílená operační paměť (Shared system memory): Je rovna celkové operační paměti použitelné pro grafickou kartu bez vyhrazené operační paměti, tzn. jen ta paměť počítače, která je využívána i pro jiné účely, než pro grafickou kartu. Tato hodnota může být ovšem i nižší, a to podle nastavení grafické karty "aperture size" (tedy velikost jakéhosi "okénka", s kterým grafický procesor pracuje). Tuto hodnotu nastavuje na počátku BIOS, může ji ale změnit ovladač i DirectX.
Celková grafická paměť (Total video memory): Prostý součet vyhrazené grafické paměti, vyhrazené operační paměti a sdílené operační paměti.

Druhý způsob je vyhrazení paměti až ovladačem během spouštění operačního systému (ještě před přihlašovací obrazovkou). V tomto případě bude Windows ukazovat celkovou operační paměť nesníženou, přestože takto vyhrazená část také nemůže být použita pro nic jiného, než pro účely grafické karty.

Kombinace ovladačů WDDM a technologií grafický procesorů (ATI i nVidia) tak umožňuje dát grafické kartě k dispozici proměnné množství paměti. Systém DirectX ve Vistě a vůbec celá architektura ovladačů WDDM o tom také dokáže informovat. Jednoduchý příklad: (samostatná) grafická karta má k dispozici 64 MB svojí rychlé paměti, nicméně její procesor GPU je připraven pracovat s 256 MB paměti. Ovladač WDDM je tedy schopen nabídnou 192 MB operační paměti, bude-li to potřeba, nicméně samozřejmě s tím omezením, že tato paměť bude pomalejší. Systém, rozhraní DirectX a případně i náročná hra musí mezi těmito hodnotami dělat rozdíly, protože pokud by se hra rozhodla využívat celých 256 MB v představě, že se jedná o rychlou paměť grafické karty, nedopadlo by to dobře, část paměti by byla pomalejší.

Jak tomu tedy rozumět?

Pokud se podíváte do nastavení svojí grafické karty (klepnout na plochu pravým tlačítkem myši, Přizpůsobit, Nastavení zobrazení, Upřesnit nastavení - první záložka Adaptér), uvidíte čtyři hodnoty. Na prvním řádku vidíte, kolik paměti by teoreticky dokázala vaše grafická karta využít. Na druhém řádku vidíte vyhrazenou paměť, tzn. kolik je jí přímo na grafické kartě. Tuto paměť na nic jiného nevyužijete. Třetí hodnota je množství vyhrazené operační paměti, ani tuto paměť nevyužijete na jiné účely, než pro grafiku, nicméně tato hodnota není odečítána z celkové dostupné operační paměti počítače. Poslední hodnota pak uvádí, kolik operační paměti by dodatečně systém mohl grafice poskytnout a kolik jí uvolní.

Pokud tedy máte externí grafickou kartu, uvidíte na druhém řádku, kolik má paměti, a na třetím řádku pravděpodobně nulu.

Pokud máte integrovanou grafickou kartu, uvidíte nulu na druhém řádku a na třetím uvidíte, kolik paměti vyhradil ovladač při spouštění Visty. O tolik paměti méně ve vašem počítači bude dostupné pro další programy.

Pozn.: Většina informací je čerpána ze zdroje uvedeného výše, nejedná se však o doslovný a ani ne kompletní překlad.

Typ článku:

Komentáře

Pěkný článek a díky za vysvětlení.

Tak to funguje moc pěkně ne jak v XP

Mě to bohužel grafická karta(šmejd - ATI Radeon 9200 SE Family - 128MB) nepodporuje,jelikož bych chtěl

No je to sice pěkná věc, když funguje. Ale když se kouknu kamkoliv do programů, který mi ukazujou aktuální stav paměti RAM tak mi to ukazuje volnou paměť pokaždý bez té co si nasdílela grafika. Takže jsem o nějakých 1406 MB na pohled chudší?! Já mám pocit, že tohle číslo se pohybuje okolo kapacity paměti RAM, kterou má 75% počítačů v český republice a zrovna se mi nelíbí, když mi to o tuhle částku ukazuje méně. Právě proto by mě zajímalo jestli je nějaká možnost (návod od soudruhů z Microsoftu) jak to vypnout. Našel jsem sice alternativu na vypnutí turbocache, ale zjevně to nefungovalo.

mám ve svém PC (VISTA 64) grafickou kartu NVIDIA Geforce 9500 GS, kde jsou tyto hodnoty

dostupná graf.pamět 2303 MB

vyhrazená graf.pamět 512 MB

systémová graf. pamět 0 MB

sdílená systémová pamět 1791 MB

 

chci si na svůj PC nainstalovat hru ZOO Tycoon 2 vše se instaluje ale při spuštění hry mi to hlásí chybu že nemám dostatek systémové paměti hra potřebuje 256 MB a mě našlo 0 MB jak bych měl postupovat, předesílám prosím pište podrobný návod jsem co se týká PC úplný začátečník

 

děkuji moc za rady a odpovědi

Podle mě máš přeplněný HDD a ten nemá dostatek místa pro virtuální paměť.

Lidi, když mám Visty(32 bit) - Mobile Intel R 965 express chipset family a hodnoty:

Celková dostupná graf. pamet : 358 mb
Vyhrazená graf. pamet: 0 mb
Systemova graficka pamet: 128 mb
Sdilena systemova pamet : 230 mb

Tak mohu to nějak zvýšit? Protože takhle rozchodim tak Mario... Díky

Tobě paměť nepomůže. Grafika kterou máš je integrovaná a výkonově tak na vykreslení webu. Proč si většina lidí myslí, že víc paměti u grafické karty se  rovná většímu výkonu ? Do určité hranice tomu tak je, ale většinou výrobci osazují paměti větším množstvím, než je grafika vůbec schopna využít. Například Vaše Intelka s celkově 358MB dostupné paměti nebude vzhledem k jejímu výkonu schopna využít ani pětinu. To jádro je prostě příliš pomalé. Každý MB navíc už by žádný přírůstek výkonu nepřinesl.

 

Nemluvě o tom, že sdílená pamět je skorem nesmysl (výkonově nepřidá, pokud máte 256 a více MB na grafice a solidní jádro).

 chtěl bych se zeptat na XP jsem měl na grafice Mobile Intel 965 expres Chipset Family napsáno že je to 384MB
koupil jsem si windows 7 32 bit a celková dostupná paměť je 251MB, vyhrazená grafická paměť je 0MB, systémová GP je 64MB a sdílená je 187MB. Nwm v čem je chyba a kde se to snížilo děkuju za vysvětlení.

Obrázek uživatele Michal Politzer

Vaše grafická karta nemá vlastní paměť. Maximálně může využívat 384 MB operační paměti. Využívá tolik, kolik potřebuje, tzn. pravděpodobně pokud byste přepnul na vyšší rozlišení, vzala by si karta víc. Logicky, pokud to není potřeba, Windows neposkytne celých 384 MB a ponechá je k dispozici jiným aplikacím.

_________________________________________________________
:: Michal Politzer :: www.mojewindows.cz :: www.mojeoffice.cz

Dobrý den mám grafickou kartu ATI Mobility Radeon x2300 HD s 896 MB sdílnou pamětí a jen 128 MB vlastní pamětí. Nevíte jestly jde rozšřit vlastní paměť alespoň na 256 MB abich rozjel i novější hry. Grafická karta má dobrý víkon ale nestíhá načítat textůry kvůli níské paměti takže ve vetšině novějších her my přeskakují textury nebo uplně chybý. Nevíte co s tím. Dekuji za odpověď.

Grafickou kartu vyhodit a koupit novou, aktuálnější ... to je jediná rada ...

DObry den, mam dotaz koupil jsme si Graf. kartu ASUS ENGT220 1GB pamět v pc  mam na zakladni desce integrovanou pamet max. 256mb. a pri hrani jakykoliv her   se obraz chova dobre a mista jakoby se sekal a pte se zas rozbehne  normálně . nevim si s tiomm rady co byto mohlo dělat respektivě jak se tohoto problému zbavit ??