Streamování

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 12. prosince 2020; kontroly vyžadují 4 úpravy .

Streaming ( anglicky  streaming ) - v počítačových hrách načítání herních dat, která jsou „brzy potřeba“, přímo v průběhu hry. Například: jakmile se postava hráče přiblíží k městu, na pozadí se načtou modely a textury města.

Potřeba streamování

Při zvýšení hustoty lineárního záznamu diskové jednotky o nkrát (při stejných geometrických rozměrech, počtu hlav a rychlosti otáčení) se o stejných nkrát zvýší i rychlost čtení ; objem se zvýší n²krát . Jinými slovy, pokud zvětšíte velikost pevného disku 100krát, jeho rychlost se zvýší pouze 10krát. Proto načítání her, antivirové skenování, defragmentace , formátování atd. na moderních ( 2009 ) počítačích trvá mnohem déle než na počítačích před 10 lety. I když ve hrách byl tento rozdíl poněkud „schován“ kompresí herních dat, čísla jsou jasná: Warcraft II na výkonných počítačích své doby nabitý za jednu dvě vteřiny; Warcraft III na výkonných počítačích své doby - zhruba za půl minuty [1] .

Zbytečně dlouhé načítání pocítili jako první programátoři pro konzole PlayStation a PlayStation 2 . Když byly počítače schopny přistupovat k I/O zařízením bez spotřebovávání zdrojů CPU, začalo se streamování široce používat také na počítačích. Jednou z prvních streamovaných počítačových her bylo Diablo II : když se postava přiblížila k bráně úrovně, to, co bylo za bránou, bylo s největší pravděpodobností načteno.

Kromě řešení problému dlouhého načítání vám streamování umožňuje dělat obrovské úrovně, které se úplně nevejdou do paměti. To je důležité pro set-top boxy, které mívají méně paměti než počítače své doby: například první PlayStation měl pouze 4 megabajty paměti (včetně video paměti ) [2] .

Přístupy

Programátor musí vyřešit následující otázky.

V každém z projektů se tyto problémy řeší svým vlastním způsobem - v závislosti na poměru objemů modelů , textur , zvuků atd.

Obvykle to tak dělají. Nejnižší úroveň detailů grafiky není nikdy vyložena a slouží jako „nouzové“ řešení, když je náhle potřeba vhodný model nebo textura. Aby se předešlo „závodům“, po každém snímku se nakladač synchronizuje s enginem a označí již načtené části hry jako „dostupné“. Zbývá pouze vyvinout nějakou metriku, která určí, jak brzy bude potřeba textura nebo model. Zde již nejsou žádné šablony: například v automobilovém simulátoru lze trať rozdělit na několik sektorů a načíst ty, které jsou nejblíže hráčovu autu; ve střílečce  - do čtverců. Pokud se hráč přiblíží k sektoru, ve kterém je ukrytý granátomet , je třeba předpokládat, že nejen model granátometu ležícího na úrovni, ale také model stejného granátometu v rukou hráče, model bude vyžadován létající granát, zvuky granátometu a efekty výbuchu.

Výkon disku je maximalizován, když jsou v blízkosti oblasti, které je třeba vyřídit v rámci jedné transakce. Důležité je tedy i pořadí, v jakém jsou data na disku uložena. Aby bylo možné méně pohybovat hlavou, u her na DVD se musí některá data duplikovat. K optimálnímu uspořádání informací na DVD se používají heuristiky, jako je genetické programování .

Poznámky

  1. Dlouhé, téměř minutové načítání Dooma je způsobeno neoptimálním enginem, více podrobností viz Doom engine ; další hry jako Quake nebo Duke Nukem 3D se do statistik vešly.
  2. PlayStation je pro srovnání s PC velmi vhodný: starší konzole mají cartridge ROM , kterou ovšem PlayStation pracující z CD nemá.

Viz také

Odkazy