Diskuze: Úsporná hra
Tvůrce
Zobrazeno 7 zpráv z 7.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
Je to tam trochu popsáno, ale ne moc důkladně, protože většina začínajících programátorů na to moc nedbá a spíš by je takové informace odrazovaly.
Hlavní zátěží paměti jsou samozřejmě textury. Petr má bohužel nectnost, že si textury připravuje předem do několika různých formátů (aby se mohl přizpůsobovat různým formátům vyžadovaných rozhraním) a tak jednak načítání textur trvá dost dlouho a jednak každá textura zabere asi 5násobek paměti oproti RGB obrázku. Tedy např. textura 256x256 bodů (RGB nebo paletová, na tom nezáleží) zabere nějak 2562564*5 tj. asi 1 MB paměti (odhad, přesný údaj teď nevím). Proto pro efektivní práci s texturami platí:
Používat textury co nejmenší a spíše sestavovat obraz z menších segmentů. Některé podobné segmenty se dají sdílet mezi více objekty. Například místo potáhnutí stěny domu jednou velkou texturou (která bude v takovém rozlišení stejně rozmazaná) rozdělit na části. Jedna malá textura (např. 16x16) zajistí světelnou mapu osvětlení stěny (lze ji namapovat dokonce na barvy vrcholů), na ni se multitexturingem položí opakovaně povrchový rastr zdi (např. 64x64), případně se může ještě položit třetí vrstva tvořící hrubost povrchu (např. 32x32 s hustším opakováním než povrchový rastr). Na stěnu se přilepí jednotlivé objekty, které budou mít samostatné textury - okna, dveře. Textury oken mohou být sdílené. Oproti přilepení jedné velké textury na dům lze takto dosáhnout mnohem kvalitnějšího vzhledu a přitom textury nezaberou moc v paměti, mohou se sdílet mezi různými typy objektů (používají se jako skládačka) a i načítání i renderování je mnohem rychlejší.
Neefektivní textury lze poznat např. tak (lze se s tím setkat u mnoha začátečnických programů), že po spuštění scény a otáčení kamerou dokola se kamera zadrhává při zobrazení některých míst scény, protože v té chvíli se inicializuje nevhodně veliká textura. Proto je tak trochu záměrně u Lite verze omezena velikost textur - začátečníci to cítí jako omezení, ale ve skutečnosti je to má naučit pracovat efektivně s texturami. Při dobré přípravě objektů se dá i s malými texturami dosáhnout velmi kvalitního vzhledu. Když se podíváte na textury některých profesionálních 3D her, tak je překvapivé jak malé rozměry textur používají a přitom vzhled scény je kvalitní (např. textury v Half Life nebo Hidden&Dangerous, kde jsou textury zpřístupněné jako běžné soubory).
Ještě jedno kritérium - nově načtené textury se v Petrovi po zobrazení udržují ve videopaměti, což také zvyšuje zabranou paměť. Proti tomu lze udělat opatření - občas chvilkově vypnout a zapnout 3D rozhraní, tím se textury z paměti uvolní. To je vhodné dělat např. při přechodu mezi scénami.
Ano, máte pravdu, zdá se že by návody na efektivní texturování daly na samostatný tutoriál.
Dík ale mě se zdá že něco to není jen texturami. Dělám na závodní hře v petrovi a mám tam terén načtený z obrázku a když to spustím, chvíli mi to chroustá a pak se na obrazovce objeví že je nedostatek paměti (zabere mi to asi necelých 900 MB operační paměti). A to tam mám prozatím jen jednu texturu, několikrát sem projel kód a vyhodil všechny nepotřebné věci a stejně se mi tam zobrazí totéž. Jinak velikost plochy je asi jen 32x32 a to je podle mě dost málo aby to zabralo tolik oper. paměti.
Myslíte 32x32 velikost obrázku terénu v grafických borech, ne v políčkách, že? Protože 32x32 v políčkách by byl neúnosně velký terén. Terén z 32x32 bodů by to způsoboval běžně neměl, ale může to způsobit v případě, že se nastaví velký stupeň vyhlazení textur, to může velmi zvýšit počet trianglů potřebných na terén.
A ta operační paměť - mě se zdá divný že zpočátku je tam asi jen 100 MB což je hodně ale je to ještě únosné a pak to najednou vyskočí na těch necelých 900.
Tak nic - už jsem to vyřešil, nevšiml jsem si že mám načítání terénu z výškové mapy zdvojené.
Zobrazeno 7 zpráv z 7.