Streaming ( engelsk streaming ) - i computerspil, indlæsning af spildata, der er "snart nødvendigt", lige i løbet af spillet. For eksempel: Så snart spillerkarakteren nærmer sig en by, indlæses byens modeller og teksturer i baggrunden.
Med en stigning i den lineære optagetæthed af et diskdrev med n gange (med samme geometriske dimensioner, antal hoveder og rotationshastighed), vil læsehastigheden også stige med de samme n gange; volumen vil stige med n² gange. Med andre ord, hvis du øger størrelsen på harddisken med 100 gange, vil dens hastighed kun stige med 10 gange. Derfor tager indlæsning af spil, antivirusscanning , defragmentering , formatering osv. på moderne ( 2009 ) computere meget længere tid end på computere for 10 år siden. Selvom denne forskel i spil var noget "skjult" af komprimeringen af spildata, er tallene klare: Warcraft II på kraftfulde computere af sin tid indlæst på et eller to sekunder; Warcraft III på kraftfulde computere fra sin tid - på cirka et halvt minut [1] .
Unødvendigt lang indlæsning var den første, der kunne mærkes af programmører til PlayStation- og PlayStation 2-konsollerne . Da pc'er blev i stand til at få adgang til I/O-enheder uden at forbruge CPU-ressourcer, blev streaming også meget brugt på pc'er. Et af de første streaming-pc-spil var Diablo II : når en karakter nærmede sig en niveauport, var det, der var bag porten, højst sandsynligt indlæst.
Ud over at løse problemet med lang indlæsning giver streaming dig mulighed for at lave enorme niveauer, der ikke passer helt ind i hukommelsen. Dette er vigtigt for set-top-bokse, som har en tendens til at have mindre hukommelse end pc'er på deres tid: for eksempel havde den første PlayStation kun 4 megabyte hukommelse (inklusive videohukommelse ) [2] .
Programmøren skal løse følgende spørgsmål.
I hvert af projekterne bliver disse problemer løst på deres egen måde - afhængigt af forholdet mellem volumen af modeller , teksturer , lyde osv.
Det er normalt sådan, de gør det. Det laveste niveau af grafikdetaljer aflæses aldrig og fungerer som en "nødløsning", når der pludselig er brug for den rette model eller tekstur. For at undgå "racer", efter hver frame, synkroniseres læsseren med motoren, hvilket markerer allerede indlæste dele af spillet som "tilgængelige". Det er kun tilbage at udvikle en eller anden metrik, der bestemmer, hvor hurtigt en tekstur eller model vil være nødvendig. Der er allerede ingen skabeloner her: for eksempel i en bilsimulator kan banen opdeles i en række sektorer, og de tættest på spillerens bil kan indlæses; i et skydespil - i firkanter. Hvis spilleren nærmer sig en sektor, der har en granatkaster skjult i sig, må det antages, at ikke kun modellen af granatkasteren, der ligger på niveauet, men også modellen af den samme granatkaster i spillerens hænder, modellen af granatkasteren. den flyvende granat, lydene fra granatkasteren og eksplosionseffekterne vil være påkrævet.
Diskens ydeevne maksimeres, når de områder, der skal håndteres i en enkelt transaktion, er i nærheden. Derfor er rækkefølgen, hvori dataene er lagret på disken, også vigtig. For at bevæge hovedet mindre, på DVD -spil, skal nogle af dataene duplikeres. Heuristik såsom genetisk programmering bruges til at arrangere informationen på DVD'en optimalt .