30/03/22

Obraz v rekonštrukcii

Pred 40 rokmi zmätene čítam o televíznych normách PAL/NTSC/SECAM, Rozlíšenie obrazu, pixelíky, elektrónové delo, refresh, overscan, párne a nepárne raster riadky. Dnes to zjednoduším z didaktických dôvodov na PAL frame o 640x480 pixeloch  na 25 fps /a interlaced srandy už nebudem riešiť vôbec/. Ako vlastník ZX Spectra som v manuále našiel niečo o štandardnom rozlíšení 256x192 pixeloch a jasne som videl okolo hernej plochy veľký "border", teda okraj kde sa grafika nezobrazovala. Logicky tam museli byť tie "zvyšné" pixely. Potom som zhliadol niečo na C64 a Atari a nedalo sa nevšimnúť, že ich grafika bola výrazne "hrubšia", pixely tučnejšie ako na spectre. Na C64ke síce veľa farieb per pixel, ale v rozlíšení iba 160x200. Farby a veľké rozlíšenie sa rovná obrovská spotreba kapacity RAM, jej priepustnosti a tlak na GPU plniť to pixelami aka fillrate, takže plnofarebné 320x240 alebo rôzne interlaced hires 640x512 srandy sme videli až na Amiga 500. PC prišlo s novou kvalitou a to natívne progresívne zobrazenie na monitore bez trikov s párnými a nepárnymi snímkami.

DOOM 1 na PC beží v 320x200px/35hz iba na najvýkonnejšom HW svojej doby, takže priemerný hráč, aby to dostal na hrateľnú rýchlosť si musel zmenšiť veľkosť herného okna a čumel na veľké okraje /ako ja na spektre/ alebo to nechal tak a znížil rozlíšenie pixelov v jednej osi na polovicu /ako na C64ke/. Zo starých herných časopisoch po 1993, keď už PC u nás dominovalo si pamätám stále dokola jednu opakujúcu sa vetu - ohromenie nad kolapsom rýchlosti snímkovania pri prepnutí z VGA /320x200/ do SVGA /640x400/. Ak DOOM 1 na VGA pixely potreboval i486DX66, tak zákonite ďalšie podobné "DOOM" hry v SVGA na tej iste 486ke padli na hubu /Cybermage, viď prvý odsek/. Bežte si po Pentium. Hrubá sila. Čiastočným riešením boli aj "medzi režimy" ako RPG Ravenloft v 320x400 pixel.

Rozlíšenie hier však nakoniec odštartovalo prudko smerom na sever - 800x600, 1028x768 /neuveriteľná ostrosť/, 1600x900 a fenomenálnych 1920x1080. V zhode s tzv. Full HD LCD telkami a cieľový štandard aj dnes pre ešte stále najrozšírenejšiu konzolu PS4. Na PS5 sa teda čakal postup ku 1440p, 1620p, 1800p alebo 2160p alias 4K rozlíšeniu. Pozorujeme však skôr presný opak. PS5 sa cíti najlepšie niekde okolo 1440p a chystaný UE5 engine to posúva smerom nadol ku 1080p, dokonca ešte nižšie. Laik by povedal, že lepšia grafika chce proste svoje, ale chýba tomu "vnútorná" logika, predsa každá generácia konzol /povedzme PS mašín/ jasne v tomto bode o triedu poskočila - povedzme, že PS1 je 240i konzola, PS2 - 480i, PS3 - 720p, PS4 -1080p. PS5 stagnuje alebo dokonca cúva, ak zohľadníme minimálne 10 násobný nárast výkonu na strane GPU oproti PS4.

 
na PS2 gameplay stačí PS2 grafika - v 8K120 režime

Problém, na ktorý sme narazili je pritom jednoduchý a to - počet kalkulacií na jeden úspešne vykreslený pixel rastie v exponente nie lineárne ako výkon vášho GPU /alebo priepustnosti RAM/. Pri PS1 ste zobrali jeden pixel /texel/ textúry a napasovali ho na obrazovku /to môže byť jeden fyzický pixel, niekoľko pixelov, dokonca iba subpixel/. Tento proces sa vlastne volá rasterizácia a pri DOOM 1 v 1993 ho na PC robilo samo CPU. PS1 už pre to má HW podporu /aj stará 3Dfx Voodoo grafika/. Do rasterizácie teda išlo kopu silikónu až do momentu, kým neprišiel prvý pixel shader, ktorý predtým než ta rasterizácia to texel-pixel mumbo jumbo urobí, tak pixel shader hodnotu /farbu/ toho pixela musí najprv spočítať. Chcete peknú grafiku, per-pixel efekty, všetky tie lesklé, odrazivé a dynamické hry so svetlom. Takže počítame. Desať výpočtov na pixel. Sto. Tisíc. Desať tisíc. Na PS4 zistíte, že rasterizačná časť GPU sedí na zadku a čaká, kým to "compute" časť vyráta. Nie je teda problém na PS5 natívny 4K obraz premaľovať aj 100 krát za sekundu. Nemáte, ale čo vykresľovať. Tie pixely nie sú pripravené a ťažkosti tu zďaleka nekončia.

Extrémne výkonný rasterizér /140 miliárd pixelov za sekundu/ čaká za pomalšou SIMD compute  časťou /shader kód/ a ta zas za ešte pomalším Raytracing modulom. Ak to chcete polopate, tak oldschool raster grafiku dá PS5 natívne 4K/120fps bez záváhania, ale už iba na 4K/30 fps, ak chcete shader kód na, ktorý sa dá aspoň trochu pozerať a iba 4K a menej ako 15 fps ak tam pridáte aj RT efekty. Prvé čo vás napadne je posilniť v ďalšom GPU práve tú RT časť. Myslite však na to, že tranzistorový budget vášho APU pri GPU sa delí na rasterizačnú, compute a RT časť a ekonomika vás nepustí do väčšieho čipu, ale iba do prerozdelenia už existujúcich tranďákov. Väčšinou sa teda obetuje rasterizačná časť a napchá sa to do RT hárdvéru.

 
UE5 a pathtracing - veľmi pekné ale výpočetne mimoriadne náročné pixely

Musíme si priznať, že proces výpočtu jedného pixelu sa zmenil na nočnú moru /asi ako keď renderujete 3D CG grafiku na Amiga 500/ a to nám to tlačí finálne rozlíšenie smerom nadol. A v dohľadnej dobe sa s tým nedá zdanlico nič urobiť. Dnes na PS5 ste presne v situácií ako s tým spomenutým Cybermage v úvode. Ak vás napadne nahradiť výpočty prostým vrstvením "hlúpych" raster pixelov, aj na to sa myslelo ale watt spotreba vás rýchlo uzemní. Je to možné ale príšerne neefektívne, energiu žravé, neflexibilné, uživateľsky-game editor pre dev tím krajne neprívetivé. A spotreba VRAM by bola obzvlášť fantasticky zlá.

Renesancia rekonštrukčných algoritmov /obludne veľká téma a začať môžem už s 16 bitovým SEGA Megadrive/. Tu je odpoveď na otázku, čo s tým budeme robiť. HW to spočíta natívne v 2K rozlíšení a mágia to preklopí do žiadúceho 4K. Nvidia DLSS, AMD FSR, Intel XeSS alebo propriétne pokusy ušité pre daný enginy konkrétnym dev tímom ako TSR od EPICu. Umelé zvýšenie rozlíšenia sa zas až tak filozófiou nelíši od čarovania pri kompresii 2D videa. Herný G-buffer /pri najrozšírenejšom deferred renderingu/ neustále drží v pamäti veľké množstvo informácii o jednodlivých pixeloch. Ich farba /albedo, difúzna, spekulárna žložka, PBR energia povrchu/, normály, depth buffer, motion vektory. Engine alebo rekonštrukčný kód teda vie, kde sa pixel v troch osiach nachádza a kde sa v priestore pohybuje. Akými pixelami je obklopený alebo bol/bude v ďalšej milisekunde. Či ide o ostré kontrasty, polotieň, tieň bez detailov. Komplikovaný rekonštrukčný kód sa potom snaží uhádnuť tie nové pixely aj podľa kontextu celého obrazu.

 4:30 min - softvérový UE TSR 4K upscaler je v statike na nerozoznanie od natívneho 4K

Budúce APU pre konzoly teda bude musieť naásť miesto na ploche chipu aj pre ML logiku /okrem už spomenutej rasterizácie, compute a raytracingu/ !! Rekonštrukciu obrazu môžte urobiť aj bez HW pomoci ML, ale nerobím si ilúzie o tlaku Nvidie na ďalšie aplikácie ML logiky. Napríklad interpolácia frejmov pri fyzike. Čo môže byť ďalšia oblasť pri fejkovaní v hrách. Hlavný avatar a blízke okolie na 1:1 fyzike a všetko ostatné hlavne vo väčšej vzdialenosti na ML fake rekonštrukcii, kde bude engine reálne počitať iba každých 2-3-4 frame s interpoláciou /tehly v pohybe, vlasy, šaty, laná, autá, vodu/.

Osobne má na tom všetkom teraz "trápi" hlavne ta redundancia na strane grafiky. UE5 engine dynamicky v engine skáče zo 100% softvérovej na 100% HW rasterizáciu podľa komplexnosti toho, čo sa na scéne deje. HW rasterizér je v UE5 o 300-400% pomalší pri renderingu malých /veľmi malých/ polygónov. Pri PS6 skončíte opäť na nejakom stredne veľkom 350 mm2 APU, čo je pomerne malá vecička a ešte to musí stáť pod 100 euro. A potrebujete tam dostať 4 hlavné "gfx" bloky - raster, compute, RT, ML. Určite bude treba prijať nejaké zásadné rozhodnutie a to už na úrovni veľkých grafických middleware /EPIC + GPU vendors/ a urobiť skokovú zmenu a nechať v ďalšej generácií konzol iba rudimentárnu rasterizáciu a vraziť ušetrené prostriedky do compute, RT, ML. Niečo podobné, ako keď sa z PS4 s pomalým, notebookovým 5400 RPM HDD skočilo na najvýkonnejšie herné SSD IOP všetkých čias pri PS5, o roky pred bežným herným PC. Rozhodne si myslim, že práve konzoly určia ďalšiu veľkú hernú paradigmu /gameplay, grafika, fyzika/ už v ďalšej generácii. Presnejšie, že sa konečne zbavíme toho MS-DOS/PS2 dedičstva - celá scéna je statický Potemkin, AI tupá a celá gameplay je uhýbanie a pižlanie nožky bossa so znižovaním jeho HP.

43 comments:

  1. PS1 nemůže být 240i konzole, neb nic takového neexistuje...

    ReplyDelete
    Replies
    1. taky bych řekl že asi jede interně 240p nebo 480p a pak PAL verze vyhodí ven 512i. Protože s PS Digital to z HDMI jede asi nativní P rozlišení a jen to dělá přepočty do HD, napojuje se to přímo na GTE. https://youtu.be/eZ4-tOMPIiY?t=193

      Delete
    2. Ty bootovací obrazovky jely určitě interlaced (480i/576i) pamatuju si to z originální PSOne... nějaké statické menu apod. detto... Hry pak ale většinou už 240p (což chtěl autor článku zřejmě napsat).

      Delete
    3. Ne to nejelo P nikdy. CRT TV je vždy interlaced.. ja myslel to že uvnitř konzole výpočty nejspíš jedou progressive a pak až ten modulační obvod pro TV výstup to převede na interlaced, jede tak všechno z tý doby od VHS přes nějaký nintenda a Commodory/Spectra po tu PS1 a 2. PS2 pak měla už lepší ten multiout tak umožnovala i HD a progressive přes ten 5x cinch. A nevím teda jak jel RGB kabel, ten fungoval na principu oddělených barevných složek jako to mají ty Commodore monitory že jas je zvlášt signál.. normálně je to pomíchaný.

      Delete
    4. To si pleteš. ZX Spectrum, Commodore 64, Sega Mega Drive a stoprocentně spousta PSOne her posílá do CRT TV "progresivní" signál "240p/288p". Je to jasně odlišitelné na horizontálních čárách které neproblikávají. Většina osmibitů ani interlaced výstup (480i/576i) nikdy neměly! PSOne ho už má, ale používá ho u her jen právě někdy (480p interně = 480i výstup podle mě).

      Delete
    5. nepletu ja z toho maturoval.. CRT TV je vždy interlaced.. až ty pozdější 100Hz měly některý progressive scan a pár her na PS2 to mělo na výběr.. P ti dělá PC s VGA monitorem. u PAL se střídají sudý a lichý řádky.. při 50Hz to znamená že 25 FPS 2x opakuje stejnej frame (sudý + lichý).. tj jeví se jako jeden plnej frame a 50 FPS by jelo 2x 25 půlsnímků.. kde už to ty čáry může dělat ale nebude to moc viditelný kvuli rychlosti.. a když vidíš takový ty hodně výrazný čáry někde v záznamu z videa na youtube to je jen proto, že ty řádky nějakej kokot neuměl nastavit a prohodil jejich pořadí v nějakým softwaru, nebo neměl syncnutej ten záznamovej software.. pak jsem jakoby o půl framu offsetnutej v čase. http://martin.hinner.info/vga/pal.html jinak když se dneska něco masteruje do TV tak nechapu proč to chtějí pořád v 1080i.. hlavně co s tím obtežujou lidi co to vyrábí at si to tam převedou.

      Delete
    6. a hádám že všechny ty rozlišení at I nebo P jsou jen interní.. paks e to prožene modulátorem keterj i z 240p udělá "upscale" na 640x512.
      Jinak na PS1 jsem časem koupil RGB kabel a ten udělal že na PS1 logu přestala jezdit čára a bylo to statickjý a ostrý . A někde jsem právě slyšel (asi 8bit guy) že ten RGB kabel funguje jako ty Commodore monitory že má tu chroma a luma složku zvlást ve dvou kabelech a že většina TV to přes SCART umí.. TV se vlastně řídí signálem co dostane.. takže možný že ten oddělenej mod je progressive..

      Delete
    7. Ne ne. Věř mi, že je rozdíl mezi "progresivním" 240p a standardním interlaced 480i. Staré osmibity a i automaty posílají jen liché řádky takže to CRT TV "nemá čím proložit" a jede tam jen ten "progresivní" lichý snímek (240p) a namísto druhého sudého snímku jsou tam ty prázdné "scanlines"... jinými slovy: je kurva rozdíl mezi tím když pošlu obrazovku z NES Super Mario Bros. přímo z konzole a mezi tou samou obrazovkou upscalovanou do 480p a poslanou jako 480i... TV zde totiž bude poctivě prokládaně vykreslovat dva snímky (480p) a bude to flickerovat

      Delete
    8. "PS1 nemůže být 240i konzole, neb nic takového neexistuje..."

      ... musim to zjednodusit aby to bolo dostatocne didakticke .. kopa hier na PS1 bezi v rozlisenie ako hry na amige .. nieco ako 320x240 /a kedze stand. CRT je vzdy interlaced, tak to "i"/.
      ... PS2 sa snazi skor o rozlisenie nieco ako "640x480i"
      ... PS3 sa snazi o 720p.
      ... PS4 sa snazi o 1080p.
      ... PS5 by "teoreticky a logicky" mala utocit na 1800-2160p .. realita vsak bude 1080p a rekonstrukcia, ak chceme pekne compute, pekne RT a 60 fps.




      https://junkerhq.net/xrgb/index.php?title=Optimal_timings

      Delete
    9. maiki: A co by se dělo s tim lichym radkem? Ja jsem psal ta norma je vzdy I a kdyz vykresluje jen pulku tak druha by byla cerna nebo by opakovala ten stejnej snimek, tak by to skakalo nahoru a dolu o radek, to jsem snad i u commodoru nekde videl. Nevim o tom nic, ono se se signalem da kouzlit, nevim jiste ale Vectrex jak nektresli radky ale vektory jak osciloscop ten je asi prave rizen upravou toho signalu a ted otazka jestlo ma upravenou obrazovku kde je to radkovani hard coded a nebo jestki s vlastním signalem lze ten paprsek v crt talhle ovlivnovat. Neco mi rika ze lze, protoze ten pal signal tam ma informace co kdy kam jde presne na Hz/pixel

      Delete
    10. ... maiki musi pochopit, ze interlaced skladanie obrazu bola z nudze cnost .. vtedy nebola prenosova kapacita na to preniest naraz 480 riadkov .. najprv si stiahol prvych 240, potom druhych 240 a z nich finalny 480 frame.
      ... pri PC hrach obraz generuje priamo HW toho PC a posiela progresivne naraz 480 riadkov po zbernici.

      Delete
    11. Ale já vím, že norma je 480i/576i. Ale deloix tu píše, že ZX Spectrum má výstup 576i. Ne, nemá. Má "288p". Zrovna tak Mega Drive a spousta PSOne her... SCANLINES hoši ... Pošlou se jen liché řádky a CRT TV ty sudé nevykresluje = no flicker (scanlines!!!)

      Delete
    12. Here is clearly described what we are talking about: SCANLINES = 240p = progressive = no interlace = DOUBLE STRIKE!!!

      Delete
    13. ... maiki ten posledny 50Hz mario s "poakakujucimi" riadkami via 128K double vram trik pusta na obraz 25 snimkov v parnych a 25 snimkov v neparnych riadkoch, tutovo.

      Delete
    14. Jasně, ale furt v rámci "288p@50" / 2. Takže vlastně tady dostáváme ono v článku citované 240i he he. Není to standardní 576i video výstup jako z DVD přehrávače. C64 dtto prostě se obrazovka alternuje mezi 2 video bankami... ale furt se posílá jen 288p. Vlastně jsem vygooglil že ten rozměr je nějakých 352x296(?).

      Delete
    15. Podle me to co jde do kabelu rozhodne neni 240p. To muze tak maximalne poslat do toho TV modulatoru co je ještě v konzoli kde se to orelozi na PAL

      Delete
    16. Jsem si teď stáhnul a pustil to Super Mario Bros 128k ve Spectaculatoru pod 128k +2 módem a je to jasné střídání 2 obrazovek 256x192. Takže je jasné že hra jede na 25 fps max. Jednotlivé pixely jsou přesně překreslovány. Technicky žádné posunuté scanlines druhého snímku jako bychom dostali v případě 576i výstupu na DVD přehrávači např. Když to zjednoduším, pokud má nějaký hardware možnost výstupu 480i/576i tak se u něj předpokládá že v tomto případě interně generuje 480p/576p rozlišení. Jen má teorie.

      Delete
    17. deloix je v koutě...

      Delete
    18. deloixi, vždyť i ty analogové video enkodéry jako Conexant co se používaly na PC grafických kartách mají v registrech možnost "240p", je to zcela regulérní modifikace toho signálu... a Playstation 2 ten mód umí taky (asi kvůli PSOne kompatibilitě)

      Delete
    19. ... sak to, ze emulator a na prog. monitore .. ten Mario strieda 2 rozne obrazovky /kazda obrazovka je iny frame, ina grafika, takze tam dava 50 roznych snimkov za sekundu a to musia byt parne a neparne polsnimky ale na LCD prog. telke je to prd vo vetre lebo neviem ako ten bazmek robi de-interlace/.

      Delete
    20. Ale znovu: to Mario není standardních 576i. zdroj není 576p rozdělené na 2 půlsnímky. Mario je 288p které jsou přepnutím video bank střídány. Interně v ZX Spectru 128. Ven je furt posíláno 288p.

      Delete
    21. Jen pro doplnění: I na ZX Spectru lze zobrazit interlace, jak dokázal Velesoft. Jde ale o špinavý trik kde je nutné LCD TV, které si to (mylně) vyhodnotí jako interlaced mode. Na CRT TV s tím ostrouháte - budou vám tam přeblikávat 2 obrazovky jedna po druhé.

      Delete
    22. Furt michas dohromady vystup "GPU" do TV obvodu a vystup do TV kabelu. Jak jsem rekl ano 240p leze z gpu do modulatoru ale ten uz vypousti jedine 576i nebo kolik ma PAL. CRT tv nic jako 240p nebo 280p neumi, musel bys zmenit cely casovani ridiciho signalu to dela jen PC monitor. Modu jak udelat z interlaced a naopak to druhy je spousta. Taky kdyz zapnu PS5 do 1080p tak interne jede porad 4k a to jeste treba udela 1440p z enginu, upscaluje na 2160p a az ten hdmi obvod z toho udela 1080p signal. Tech fazi ve zpracovani je sposusta a my jsme se neshodli o ktery se vůbec bavime

      Delete
    23. Ne. 240p je co leze po kabelu do TV a je jedno jestli přes modulátor, kompozit nebo RGB. 240p je jen 480i kterému chybí druhý půlsnímek, Proto se tam zobrazí scanlines namísto druhého půlsnímku.

      Delete
    24. co popisuješ je akorát že to na druhej půlsnímek cpe černou a hru to vykreslí jen do prvního a ušetří to tak čas ale to by ti poklesl jas na 50% protože by byl každej druhej řádek černě.. To se řeší že to do druhýho půlsnímku nacpe to samý.. na moderní LCD když vypneš korekce tak to vypadá jakože to vibruje o 1 řádek nahoru a dolu.. na CRT se to díky perzistenci obrazovky témeř neprojeví, jen takový ty třepající se okraje co měla i PS1. jestli tam Spectrum necpe tu kopii i do druhýho půlsnímku, tak tam prostě 100% bílá musí vypadat jako 50% šedivá.. vyzkoušený to mám na mojí Sony CRT TV, před chvílí jsem si ten půlsnímek vygeneroval abych viděl jestli fakt uvidím černý mezery nebo se to sleje.. a sleje se to.. scanlines bude mít podle mě nějakej hodně kvalitní studio monitor.. bežná CRT TV je naladěná od oka a vícemeně to ty rastry s pixely trefuje +- s přesahem do vedlejších. Spectrum nemám tak netuším jestli to má takovej ojeb mod.. muj C64 to nedělá ten právě dělá to skákání o 1 řádek nahoru a dolu když to dám na LCD TV v herním modu.. v hostatních modech to ta TV už přefiltruje na koukatelnej obraz

      Delete
    25. To já nevím co ti s tím dělá nějaká LCD TV... Zachytil jsem na internetu že ten "240p" signál mají celkem problém vůbec zachytávat. Jde prostě o věc z dob kdy žádné LCD nebylo a patří to na CRT TV. A jak vygeneroval jsem si půlsnímek? Nestačí si nakreslit půlsnímek 480p a pouštět ho jako 480i. Vem si originál Commodore 64 nebo ještě lépe PSOne a pusť to na běžnou 15 kHz CRT TV. A pak to samé pusť přes emulátor na PS2 přes 480i... Rozdíl je ihned patrný.

      Delete
    26. Jsem ti s tou LCD popisoval ze tam se proflakne jak ten signal reálně chova, ne ze to je standard pro pomerovani cehokoliv. Ja mam doma i CRT a testy jsem delal na tom. Emulator vůbec nema vyznam zminovat tam ti negerantuje absolutne nic ze to vypada hako kdybys to zachytaval na TV vystupu. A jal jsem psal ja jsem krom jinych veci maturoval i z TV techniky a v ty dobe to byly CRT a rozebirali jsme je a opravovali, ladily tam obvody a magnety, generatory signalu, vse, takze vim co to dela a co nedela. A co C64 nedela je ze by poustel cerny pulsnimky, kopiruje tam proste ten samej snimek a to samy delaji nekdy moderni zarizeni pri deinterlace ze to jeden proste vynecha. Co dela spectrum nevim, mi ten signal nahraj v 50 FPS do HD at se to lip rozpozna a rad se podivam, ted si mylsim ze bude delat to co C64

      Delete
    27. Jo ty myslis emulatorem tu zpetnou kompatibilitu u PS2, no tam je primo cpu z ps1. Zkusim az se budu nudit

      Delete
    28. Ne já jsem myslel pustit si nějaký emulátor třebas C-64 na PS2 do CRT TV a porovnat to s reálným C64 na CRT TV. Protože se mi zdá že furt nechápeš, jak takové "240p" má vlastně vypadat a furt si myslíš že to je standardní 480i...

      Delete
    29. tys mi pořád nevysvětlil co se děje s tim druhým půlsnímkem, ale už jsem to asi dohledal jak to funguje a asi vím proč to na tý LCD skáče nahoru a dolu a ted mi zapadly i ty věci cos psal nahoře... ten 240/288p signál hackne signálem řídicí signál té TV, že přestane vykreslovat např sudý snímky a jede tou rychlostí 50/60 FPS vykreslování jen lichých prostě stále dokola jen řádky 1,3,5,7... To nemůžeš říct rovnou že se ten signál modifikuje tak že to přestane vykreslovat druhý půlsnímek? :D Prakticky je ten signál jak jsem si na tom trval 576i ale bez toho příkazu k posunu o řádek.. stále půlsnímky s časováním na 576 řádků, jen to nikdy nevykreslí ten druhej, tak se to dá považovat za 288p že tam nikdy nedochází k posunu o řádek... a ta LCD tv skáče o řádek nahoru a dolu (pouze v herním modu), protože automaticky předpokládá to střídání řádků a nekontroluje si žádný řídící signály, že je ten herní mod má hardcoded to 50/60 FPS střídání.. ostatní mody to zobrazujou správně bez skákání..

      Delete
    30. ale s tím půlka 576i nebo 288p se dostáváme do roviny zda je sklenice poloprázdná nebo poloplná. Za mě 1 litrová sklenice když obsahuje 0,5l vody je stále 1l sklenice nehledě jak jsi ji využil.. takže obrazový signál z konzole je 288p, ale nosný signál je 576i s modifikací neposouvat o řádek... vynechaný řádek je prostě interlaced ať se na následujícím snímku děje co chce.. tečka končím :D

      Delete
    31. dobře vysvětlený na týhle stránce..
      240p video signals are electrically equivalent to 480i signals, except for that special timing signal described above. Because of this, improperly designed TVs can misinterpret 240p signals as 480i signals.
      https://www.hdretrovision.com/240p

      Delete
    32. To nemůžeš říct rovnou že se ten signál modifikuje tak že to přestane vykreslovat druhý půlsnímek? :D - Vždyť jsem psal že jen liché řádky a druhý půlsnímek je prázdný... Hele já nejsem TV technik ani inženýr nevím jak to technicky přesně pracuje, jen vím že 240p na CRT TV vypadá jinak než 480i. A vidím že už jsi to dohledal a ano, je to přesně tak. Schůze skončena. Pro všichni, proti nikdo, zdržel se, také nikdo.

      Delete
    33. No mě právě mátlo to, že jsi tvrdil že druhý půlsnímek je prázdný, ale to je jen vizuálně na obrazovce, ale v signálu jsou oba snímky jen s tím že je signál modifikován tak, že neobsahuje informaci o přepnutí na sudý řádek. Jinak by to jelo jen 25 FPS a ještě by poklesl jas na polovinu. V tom signálu jsou totiž různý impulzy podle kterých ta TV ví že dojel půlframe a že má jet zase nahoru.. to je přesný na mikrosekundy. No ta moje CRT je rozprcaná takže mě se to sleje i když to vynechává.. hlavně CRT není pixel perfect a svítí trochu i do okolních řádků..

      Delete
    34. " hlavně CRT není pixel perfect a svítí trochu i do okolních řádků.."

      ... to ze farba bleeduje do okolia je zakladna finga G pixel artu na CRT .. speccy grafiku som robil cielene s vedomim tohto faktu, nekreslim som teda v "RGB" rezime alebo v "LCD" ostrosti ale schvalne tak, aby mi farby /je tam vyrazny blend/ sadli prave na CRT telke.

      Delete
    35. To přetékání barev je ale spíš způsobené formou signálu než samotnou CRT... např. přes modulátor a kompozit to teče rapidně víc než přes RGB... To je vidět i na takovém Mega Drivu že přes RGB tam jisté části obrazu používající dithering vypadají jinak než přes kompozit. Já osobně upřednostňuji RGB pokud to HW má, jsem odkojený na automatech které měly vždy jen RGB. Na druhou stranu Spectrum nebo Atari 2600 mi přijdou přes modulátor autentičtější a grafika je taková živá jak se to všechno přelévá a hýbe he he...

      Delete
    36. ... dither sa pouzival masivne prave kvoli tomu, ze na beznej telke doma dither vzor sachovnica red+white vyzerala ako ruzova .. cela grafika s bleedom farieb ratala.

      Delete
    37. Vektorové monitory co jsem viděl kreslí rovnou plné čáry, není tam žádná mřížka "pixelů", takže je to vlastně úplně jiný "styl" obrazu. Doporučuji jet se podívat např. do Unhošti do Arcade hry CZ. Boreček tam má např. automat Asteroids od Atari, který používá vektorový monitor. Je to krásně vidět ten rozdíl oproti klasickým CRT. "nevim jiste ale Vectrex jak nektresli radky ale vektory jak osciloscop ten je asi prave rizen upravou toho signalu a ted otazka jestlo ma upravenou obrazovku kde je to radkovani hard coded a nebo jestki s vlastním signalem lze ten paprsek v crt talhle ovlivnovat. Neco mi rika ze lze, protoze ten pal signal tam ma informace co kdy kam jde presne na Hz/pixel"

      Delete
  2. Takže podle toho, co píšeš jsou dnešní GPU vlastně neoptimálně navržené... Pokud je tomu tak, je načase to celé překopat od základu, aneb PS2 resurrection ultra HD + he he

    ReplyDelete
    Replies
    1. ... dnesne GPU zo sebou tahaju legacy zataz .. rasterizacna cast /ROPs, TMUS/ je super masivna ale hry ako Dreams na PS4 idu ciste cez software rasterizaciu .. teda na compute /SIMD/ casti GPU je vytvorena virtualna alternativna render pipelajnu specificka usita pre danu hru a je vyrazne vykonnejsia ako ta HW cesta.
      ... UE5 robi presne to iste, doslova vypne 100 watt na raster casti GPU a urobi to softverovo na SIMD v inej casti toho isteho GPU ..
      ... kym prisli prve 3Dfx Voodoo grafiky, tak sa rtasterizacia robila na CPU /zober si napriklad Pentium 90 a software Quake/ a presun rasterizacie na GPU /neskor aj triangle setup/ bol o 200-400% percent rychlejsi ako na tom CPU .. zakonite sa teda spytas a ked tam mam Pentium III na 733mhz .. tak ti poviem, ze ta ista rasterizacia v tej istej hre bude asi na tej PIII - URCITE rychlejsia ako ta Voodoo karticka.
      ... co je aj dnesna situacia .. HW rasterizacia zabera kopu miesta na chipe, zerie vela wattov, uz nie je schopna osetrit moderne render postupy a brzdi .. preto to riesia presuvanim funkcii na RT modul a prehodenim HW rasterizacie na soft .. ostatne nejde o nic nove .. aj na Amige sa laborovalo, ktory sprajt /BLOB/ je kedy vyhodnejsi .. soft alebo HW a casom sa HW sprajty uplne vyhodili /i486 ide 2D brute force/, vsetko bolo soft .. PS1 dokonca ide tak daleko, ze "soft sprite" je vlastne HW polygon v formate sprajtu .. nepchali na cip akoze 2D podporu ale vyzili inak 3D HW .. no aj pri next PC GPU sa uvazuje rovnako .. zbavit sa 75% stareho HW rastru a ked treba, tak to poriesit soft cez compute.

      Delete
    2. Viete,mi,niekto, povedať,ako,fungovala,Agony,na Amige ?Interlace,pozadie,zrejme,aj paralax, ostatné,v štandardnom rozlíšení.

      Delete
    3. ... urfin - tu mas peknu rozborku o Agony


      Delete
  3. A ještě přímý důkaz že ULA neumí 576i (reakce Busyho): tommik píše:
    celkem pochybuji, že by se na Spectru dalo posunout obrazovku o půl pixelu vertikálně... nebo se mýlím?
    Zial, nemylis. Posunut Field2 o pol pixelu dole by znamenalo (ako som uz vyssie napisal) ze musi byt cely odvysielany o 32us neskor. A to uz chce bud nieco na urovni scandoubleru, alebo netrivialne zmeny v ULA.

    ReplyDelete

**** pre vloženie hypertextového odkazu do komentára použi CSS kód: hyperlink ****