Streaming herních dat

Streaming herních dat znamená průběžné načítání potřebného obsahu z úložiště do pracovní paměti během běhu hry. Engine tak nemusí držet celý svět, všechny zvuky nebo veškeré animace současně v RAM.

Například při postupu úrovní může načíst další část prostředí a uvolnit data oblasti, kterou už nepotřebuje. Jde o práci s obsahem samotné hry; vysílání videa divákům nebo hraní přes vzdálený server jsou jiné významy slova streaming.

Schematická ilustrace: hra načítá data během postupu

A: předchozí oblast
B: právě hraná oblast
C: další oblast

Úložiště → data C → pracovní paměť

Hráč ještě hraje v B. Data pro C se načítají předem; nepotřebná data A lze později uvolnit.

Model postupného načítání částí herního světa. Nejde o příjem obrazu přes internet. Skutečné hry se liší velikostí bloků, časem načítání a tím, která data ponechají v paměti.

Obsah přichází po částech

Data musí být připravena včas, aby je hra mohla použít. Načtení a uvolnění souboru proto není totéž co pouhé skrytí objektu mimo kameru. Skrytý objekt může dál zabírat paměť. Dokumentace Unreal Engine tuto odlišnost ukazuje u streamovaných úrovní, kde se načítání do paměti a viditelnost ovládají jako samostatné vlastnosti.

Práce s malou pamětí

U původního Crash Bandicoot pro PlayStation popisuje Andy Gavin systém, který z CD průběžně měnil potřebné součásti hry v paměti, včetně geometrie, zvuků a animací. Význam mělo i rozložení dat na disku. Streaming umožňuje pracovat s rozsáhlejším obsahem, ale sám nezaručuje nepřerušovanou plynulost: pokud potřebná data nejsou připravena včas, musí hra situaci nějak vyřešit.

Podklady: Epic Games: streaming úrovní; Andy Gavin: data a paměť na PS1.