Parhaat Amiga AGA-demot!

Anonyymi-ap

Ehkä paras koskaan AGA-Amigoille tehty demo on Starstruck, joka voitti Assembly 2006:n, jossa kilpaili PC-demojen kanssa samassa ryhmässä. Demo vaatii tietysti nopean 68060 prosessorin, mutta kaikki on softarenderöityä (kuten kaikissa muissakin AGA-demoissa), jolloin demon porttaaminen Atari Falconille oli myös helppoa, koska sillä on sama suoritin.

Hieman ihmeellistä kyllä että PC-koneiden tehot eivät riittäneet voittoon 3D-grafiikassa. Vai osasivatko äänestäjät ottaa huomioon myös tehoeron laitteissa?
https://m.youtube.com/watch?v=eqnZH7Pa3vo

Myös Assembly 2001 partyssä julkaistu Amiga AGA demo Lapsuus voitti demokilpailun, mutta siinä mentiin kyllä siinä missä aita on matalin, koska käytettiin 2x2 pikseleitä, eli demon resoluutio on vain 160x100 tai sinnepäin, ei siitä enää saa oikein selvää, mutta voitto mikä voitto.
https://m.youtube.com/watch?v=pid7hN2G660

Myös Silkcut on yksi parhaimpia AGA-demoja, Starstruckin tekijöiltä, vuonna 2004 tehty demo.
https://m.youtube.com/watch?v=72PhnUugpMg

Hyviä demoja on myös Rise (1998)
https://m.youtube.com/watch?v=6Meqv1eTVeM
Relic (1998)
https://m.youtube.com/watch?v=9XCFqZEOXb8

Uusimmista demoista voisi mainita Beamriders (2017), jossa erittäin hyvä zoom-efekti ja loppu.
https://m.youtube.com/watch?v=uJsZXgSaELE

Muitakin demoja on paljon, sekä alkuaikoina tehtyjä, että viime aikoina, voidaan jatkaa tätä ketjua myöhemmin.

10

273

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Enemmän näissä ratkaisee se graafinen suunnittelu, ei tehot. Tehojen puolesta nuo ovat vuoden 1992 Intel raudalla toimivia.

      3D-grafiikka ei oikeasti ole mitenkään erityisen vaativa juttu.

      • Anonyymi

        Vuonna 1992 Intelin paras prosessori oli 486/66 MHz, ja Motorolalla oli paras 68040/40 MHz, jotka olivat molemmat suunnilleen yhtä tehokkaita kokonaislukulaskennassa. 68040 oli huomattavasti suorituskykyisempi kuin 486, varsinkin moninkertainen teho liukulukulaskennassa. Tämä siis tilanne vuoden 1992 loppupuolella.

        AGA-Amigat julkaistiin loppuvuonna 1992 myös, joten joo, rautaa oli olemassa vuonna 1992 sekä Intelillä että Commodorella/Motorolalla pyörittää näitä demoja, mutta mitä sitten? Se, että jotain on mahdollista tehdä, ei tarkoita sitä että asia tehdään. Kyllähän siinä aikaa meni että opittiin ohjelmoimaan ja että prosessorien hinta tuli alas.


      • Anonyymi
        Anonyymi kirjoitti:

        Vuonna 1992 Intelin paras prosessori oli 486/66 MHz, ja Motorolalla oli paras 68040/40 MHz, jotka olivat molemmat suunnilleen yhtä tehokkaita kokonaislukulaskennassa. 68040 oli huomattavasti suorituskykyisempi kuin 486, varsinkin moninkertainen teho liukulukulaskennassa. Tämä siis tilanne vuoden 1992 loppupuolella.

        AGA-Amigat julkaistiin loppuvuonna 1992 myös, joten joo, rautaa oli olemassa vuonna 1992 sekä Intelillä että Commodorella/Motorolalla pyörittää näitä demoja, mutta mitä sitten? Se, että jotain on mahdollista tehdä, ei tarkoita sitä että asia tehdään. Kyllähän siinä aikaa meni että opittiin ohjelmoimaan ja että prosessorien hinta tuli alas.

        68040:ssä oli yksi merkittävä heikkous: Siinä oli vain 4kt cache. Tuo rajoitti toistuvan tekstuurin koon 32x32 pikselin kokoiseksi.

        486:ssa oli avainjuttuna 8kt cache, että saatiin 64x64 pikselin kokoista tekstuuria käytettyä toistuvasti, tai vaikka 64x64 pikselin kokoinen billboard mitä monistaa. Sopi kivasti L1 cacheen palette lookupin kanssa.

        486:lle kyllä tehtiin sitten sitä tekstuurimapattua 3D-grafiikkaa silloin 90-luvun alkupuolella peleissä, ei vain demoissa.


      • Anonyymi
        Anonyymi kirjoitti:

        68040:ssä oli yksi merkittävä heikkous: Siinä oli vain 4kt cache. Tuo rajoitti toistuvan tekstuurin koon 32x32 pikselin kokoiseksi.

        486:ssa oli avainjuttuna 8kt cache, että saatiin 64x64 pikselin kokoista tekstuuria käytettyä toistuvasti, tai vaikka 64x64 pikselin kokoinen billboard mitä monistaa. Sopi kivasti L1 cacheen palette lookupin kanssa.

        486:lle kyllä tehtiin sitten sitä tekstuurimapattua 3D-grafiikkaa silloin 90-luvun alkupuolella peleissä, ei vain demoissa.

        Ei pidä paikkaansa. 68040:ssa on myös 8 kt cache, mutta siinä on erikseen 4 kt muistia datalle, ja 4 kt käskyille. Voit unohtaa sen että 486:n välimuistiin mahtuu 2x enemmän dataa, koska koodia menee myös cacheen. Yleensä tällainen jaettu välimuisti on tehokkaampi kuten 68040:ssa on, koska mm dataa ja käskyjä voi käsitellä rinnakkain, mutta on toki tilanteita, jossa 486:n cache toimii nopeammin.

        Isompi ongelma on kuitenkin 486:n rekisterien vähyys, 68040:ssa on 16 kpl 32-bittisiä rekistereitä, joista 8 kpl on datarekistereitä, ja 8 kpl osoiterekistereitä.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei pidä paikkaansa. 68040:ssa on myös 8 kt cache, mutta siinä on erikseen 4 kt muistia datalle, ja 4 kt käskyille. Voit unohtaa sen että 486:n välimuistiin mahtuu 2x enemmän dataa, koska koodia menee myös cacheen. Yleensä tällainen jaettu välimuisti on tehokkaampi kuten 68040:ssa on, koska mm dataa ja käskyjä voi käsitellä rinnakkain, mutta on toki tilanteita, jossa 486:n cache toimii nopeammin.

        Isompi ongelma on kuitenkin 486:n rekisterien vähyys, 68040:ssa on 16 kpl 32-bittisiä rekistereitä, joista 8 kpl on datarekistereitä, ja 8 kpl osoiterekistereitä.

        Tuossa 3D-grafiikassa se koodi optimointiin assemblerilla niin, että suurin osa ajasta menee pienessä silmukassa. Kriittinen kohta oli rasterointi. Siinä tosiaankin pyöri pieni optimoitu silmukka kossa koodia oli vähän. Sen sijaan dataa oli yli 4kt kun se pelkkä 64x64 tekstuuri vei tasan 4kt, mutta lisäksi sitten oli paletti lookup, että riippuen varjostuksesta tai etäisyydestä kameraan, napattiin eri paletista väriä ja ne piti saada myös sopimaan data cacheen.

        486:ssa 3D-grafiikan piirrossa rekisterien vähyys todellakin oli ongelma.

        Noin perstuntumalla 68040 ja 486 olivat varmaan jokseenkin samantasoisia mutta piirrettäviä asioita optimoitiin eri tavalla.

        68040:lla jos oli 64x64 pikselin tekstuuri, siinä ei oikein voinut olla varjostusta mikä oli oikeastaan aika huono juttu piirrettäessä isoja varjostettuja polygoneja joissa toistuva kuvio.

        486:lla taas mieluusti välteltiin tekstuureja ja samanaikaisia tekstuuri gouraudin jos jostain sai huomaamatta pois esimerkiksi LOD:ia käyttämällä koska rekisterien vähyys hyydytti rasteroinnin sisäsilmukkaa.


      • Anonyymi
        Anonyymi kirjoitti:

        Tuossa 3D-grafiikassa se koodi optimointiin assemblerilla niin, että suurin osa ajasta menee pienessä silmukassa. Kriittinen kohta oli rasterointi. Siinä tosiaankin pyöri pieni optimoitu silmukka kossa koodia oli vähän. Sen sijaan dataa oli yli 4kt kun se pelkkä 64x64 tekstuuri vei tasan 4kt, mutta lisäksi sitten oli paletti lookup, että riippuen varjostuksesta tai etäisyydestä kameraan, napattiin eri paletista väriä ja ne piti saada myös sopimaan data cacheen.

        486:ssa 3D-grafiikan piirrossa rekisterien vähyys todellakin oli ongelma.

        Noin perstuntumalla 68040 ja 486 olivat varmaan jokseenkin samantasoisia mutta piirrettäviä asioita optimoitiin eri tavalla.

        68040:lla jos oli 64x64 pikselin tekstuuri, siinä ei oikein voinut olla varjostusta mikä oli oikeastaan aika huono juttu piirrettäessä isoja varjostettuja polygoneja joissa toistuva kuvio.

        486:lla taas mieluusti välteltiin tekstuureja ja samanaikaisia tekstuuri gouraudin jos jostain sai huomaamatta pois esimerkiksi LOD:ia käyttämällä koska rekisterien vähyys hyydytti rasteroinnin sisäsilmukkaa.

        Nyrkkisääntö on että 68040 on noin 4 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 68030. Mutta 486 on vain noin 2 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 68030. Lopputulos on että 68040 on lähes 2 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 486 kokonaislukutoiminnoissa. Ja liukuluvuissa moninkertainen nopeus.

        Amigalla tyypillinen innerloop, jossa piirettiin yksi teksturoitu pikseli kerrallaan vei 5 käskyä.

        Ongelmana Amigoissa on taas pieni muistinopeus, ei ole VLB-tasoista grafiikkamuistin nopeus, ja prosessorikortit oli osa huonosti tehty, niin että prosessorin FAST-muistikin oli aika hidasta. Nykyiset kortit ovat nopeampia, esim. 68060/100 MHz pääsee lähes 100 MB/s muistinopeuteen FAST-muistissa, vanhoissa korteissa oli 40-60 MB/s maksimi (toki myös alhaisemmat kellotaajuudet). Lopuksi vielä c2p-käännös päälle, koska Amigoissa ei ole 8-bit chunky pixel-moodia.

        Onneksi 68020 alkaen on sellainen feature että jos kirjoittaa prosessorilla muistiin, niin prosessori voi jatkaa käskyjen suoritusta, kunhan ei koske muistiin uudestaan, kunnes edellinen muistikirjoitus on suoritettu. On meinaan elintärkeä, jos on latenssia hitaassa grafiikkamuistissa, ettei prosessori pysähdy siihen täysin. Siinä saa sitten keksiä järkevää työkuormaa, onneksi m68k:ssa on paljon rekistereitä jolloin muistiin ei tarvitse koskea.

        Sanoisin että 68030/50 MHz on optimaalinen prosessori AGA-koneille, 68040 tai 68060 ovat liian nopeita ja menettävät osan tehostaan hitaaseen grafiikkamuistiin kaikesta huolimatta, mikä on harmi.


      • Anonyymi
        Anonyymi kirjoitti:

        Nyrkkisääntö on että 68040 on noin 4 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 68030. Mutta 486 on vain noin 2 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 68030. Lopputulos on että 68040 on lähes 2 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 486 kokonaislukutoiminnoissa. Ja liukuluvuissa moninkertainen nopeus.

        Amigalla tyypillinen innerloop, jossa piirettiin yksi teksturoitu pikseli kerrallaan vei 5 käskyä.

        Ongelmana Amigoissa on taas pieni muistinopeus, ei ole VLB-tasoista grafiikkamuistin nopeus, ja prosessorikortit oli osa huonosti tehty, niin että prosessorin FAST-muistikin oli aika hidasta. Nykyiset kortit ovat nopeampia, esim. 68060/100 MHz pääsee lähes 100 MB/s muistinopeuteen FAST-muistissa, vanhoissa korteissa oli 40-60 MB/s maksimi (toki myös alhaisemmat kellotaajuudet). Lopuksi vielä c2p-käännös päälle, koska Amigoissa ei ole 8-bit chunky pixel-moodia.

        Onneksi 68020 alkaen on sellainen feature että jos kirjoittaa prosessorilla muistiin, niin prosessori voi jatkaa käskyjen suoritusta, kunhan ei koske muistiin uudestaan, kunnes edellinen muistikirjoitus on suoritettu. On meinaan elintärkeä, jos on latenssia hitaassa grafiikkamuistissa, ettei prosessori pysähdy siihen täysin. Siinä saa sitten keksiä järkevää työkuormaa, onneksi m68k:ssa on paljon rekistereitä jolloin muistiin ei tarvitse koskea.

        Sanoisin että 68030/50 MHz on optimaalinen prosessori AGA-koneille, 68040 tai 68060 ovat liian nopeita ja menettävät osan tehostaan hitaaseen grafiikkamuistiin kaikesta huolimatta, mikä on harmi.

        "Lopputulos on että 68040 on lähes 2 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 486 kokonaislukutoiminnoissa. Ja liukuluvuissa moninkertainen nopeus."

        Niin mutta kyseessähän ei ole pelkät kellojaksot kun lasketaan asioita. Commodore 64:llä se oli suunnilleen näin.

        Uudemmilla koneilla prosessorin rekisterien ja muistijärjestelmän välinen kaista on kokoajan ratkaisevampi. Amiga 500:lla käytännössä laskettiin mikä kaista on ja paljon tarvitsee sekunnissa piirtää kun blitterillä tekee operaatioita. Viimeiset 20v tuskin on missään saatu olennaisesti eroa assemblerilla hinkkaamalla missään kun yhdessä kääntäjien kehittymisen kanssa, marginaalisesti vähemmän kellojaksoja käyttävä ei merkitse mitään kun jarru on muistikaistassa.

        Piirrettäessä GPU:lla, koko piirron kuormittavuus menee käytännössä muistikaistan mukaan. Cachet ovat lähinnä sitä varten, että nopeuttavat hakuja kun shaderit laskevat asioita.

        Softarenderöinnissä oli ensisijaisen tärkeää saada rasteroinnin silmukat toimimaan L1 cachessa. Muistikaista oli niin tiukassa, että esimerkiksi Z-bufferia ei kannattanut käyttää. Oli paljon tehokkaampaa pitää polygonimäärä rajallisena ja käyttää z-sorttia. Näin siis jo sillä VLB väylällä.

        "Ongelmana Amigoissa on taas pieni muistinopeus, ei ole VLB-tasoista"

        Niin. Eli turha toivo 64x64 pikselin tekstuureilla fillata kuvaa kun tulisi cachemissiä koko aika.

        68040/40MHz käytännössä vastasi 486DX2/66MHz
        68030/50MHz vastasi 486DX/25MHz


      • Anonyymi
        Anonyymi kirjoitti:

        "Lopputulos on että 68040 on lähes 2 kertaa nopeampi kuin samalla kellotaajuudella pyörivä 486 kokonaislukutoiminnoissa. Ja liukuluvuissa moninkertainen nopeus."

        Niin mutta kyseessähän ei ole pelkät kellojaksot kun lasketaan asioita. Commodore 64:llä se oli suunnilleen näin.

        Uudemmilla koneilla prosessorin rekisterien ja muistijärjestelmän välinen kaista on kokoajan ratkaisevampi. Amiga 500:lla käytännössä laskettiin mikä kaista on ja paljon tarvitsee sekunnissa piirtää kun blitterillä tekee operaatioita. Viimeiset 20v tuskin on missään saatu olennaisesti eroa assemblerilla hinkkaamalla missään kun yhdessä kääntäjien kehittymisen kanssa, marginaalisesti vähemmän kellojaksoja käyttävä ei merkitse mitään kun jarru on muistikaistassa.

        Piirrettäessä GPU:lla, koko piirron kuormittavuus menee käytännössä muistikaistan mukaan. Cachet ovat lähinnä sitä varten, että nopeuttavat hakuja kun shaderit laskevat asioita.

        Softarenderöinnissä oli ensisijaisen tärkeää saada rasteroinnin silmukat toimimaan L1 cachessa. Muistikaista oli niin tiukassa, että esimerkiksi Z-bufferia ei kannattanut käyttää. Oli paljon tehokkaampaa pitää polygonimäärä rajallisena ja käyttää z-sorttia. Näin siis jo sillä VLB väylällä.

        "Ongelmana Amigoissa on taas pieni muistinopeus, ei ole VLB-tasoista"

        Niin. Eli turha toivo 64x64 pikselin tekstuureilla fillata kuvaa kun tulisi cachemissiä koko aika.

        68040/40MHz käytännössä vastasi 486DX2/66MHz
        68030/50MHz vastasi 486DX/25MHz

        "Niin. Eli turha toivo 64x64 pikselin tekstuureilla fillata kuvaa kun tulisi cachemissiä koko aika."

        Ei se näinkään mene, koska koko kuvaruutu renderöidään ensin FAST-muistissa, ennenkuin kopioidaan kuvaruutu kokonaisuudessaan CHIP-muistiin. FAST-muistissa on cachemuisti normaalisti käytössä.

        Onneksi Amiga on kuitenkin joustava kone, eli pystytään nopeuttamaan c2p prosessia pudottamalla värimäärää (esim 256 värin sijaan 64 väriä, 32, tai 16 väriä), ja/tai jättämällä pois osan c2p-rutiinista, jolloin itse renderöinnistä tulee hankalampaa, koska framebufferista tulee epälineaarinen ,eli pikselit tulevat epäjärjestyksessä. Pystyykö tällä sitten nopeuttamaan renderöintiä, riippuu siitä että miten paljon ekstraa työtä joutuu tekemään sen vuoksi että framebuffer on epälineaarinen.

        "68040/40MHz käytännössä vastasi 486DX2/66MHz
        68030/50MHz vastasi 486DX/25MHz"

        Näin se menee suunnilleen.


      • Anonyymi
        Anonyymi kirjoitti:

        "Niin. Eli turha toivo 64x64 pikselin tekstuureilla fillata kuvaa kun tulisi cachemissiä koko aika."

        Ei se näinkään mene, koska koko kuvaruutu renderöidään ensin FAST-muistissa, ennenkuin kopioidaan kuvaruutu kokonaisuudessaan CHIP-muistiin. FAST-muistissa on cachemuisti normaalisti käytössä.

        Onneksi Amiga on kuitenkin joustava kone, eli pystytään nopeuttamaan c2p prosessia pudottamalla värimäärää (esim 256 värin sijaan 64 väriä, 32, tai 16 väriä), ja/tai jättämällä pois osan c2p-rutiinista, jolloin itse renderöinnistä tulee hankalampaa, koska framebufferista tulee epälineaarinen ,eli pikselit tulevat epäjärjestyksessä. Pystyykö tällä sitten nopeuttamaan renderöintiä, riippuu siitä että miten paljon ekstraa työtä joutuu tekemään sen vuoksi että framebuffer on epälineaarinen.

        "68040/40MHz käytännössä vastasi 486DX2/66MHz
        68030/50MHz vastasi 486DX/25MHz"

        Näin se menee suunnilleen.

        "Ei se näinkään mene, koska koko kuvaruutu renderöidään ensin FAST-muistissa, ennenkuin kopioidaan kuvaruutu kokonaisuudessaan CHIP-muistiin. FAST-muistissa on cachemuisti normaalisti käytössä."

        Niin mutta kun se FAST-muistikin on tässä liian hidas, että tarkoitus on että ei tule mitään muistihakuja tekstuuria luettaessa kun on ensimmäisen kerran luettu tekstuuri L1 cacheen.

        Sellainen temppu voi toimia, että 64x64 tekstuuri onkin tallennettu 4-bit/pikseli jolloin se sopisi L1 cacheen.


    • Anonyymi

      Maturefurkin "Lapsuus" oli ihan näyttävä demo, mutta taisi vaatia 060:n, eli ei ollut enää orggis-Amigan pyöritettävissä.

    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Anteeksi mies

      En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin
      Ikävä
      57
      9157
    2. Mietin aina vain

      Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh
      Tunteet
      12
      3619
    3. Hetken jo luulin, että en ikävöi sinua koko aikaa

      Mutta nyt on sitten taas ihan hirveä ikävä jotenkin. Tiedätköhän sinä edes, kuinka peruuttamattomasti minä olen sinuun r
      Ikävä
      29
      2877
    4. Kysely lieksan miehille

      Olemme tässä pohtineet tällaista asiaa, että miten on. Tästä nyt on paljon ollut juttua julkisuudessakin aina sanomaleht
      Lieksa
      83
      2241
    5. Palstan henkisesti sairaat ja lihavat

      Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals
      Ikävä
      114
      2060
    6. Outoa että Trump ekana sanoutui irti ilmastosopimuksesta

      kun Kaliforniaa riepottelee siitä johtuvat tuhoisat maastopalot. Hirmumyrskytkin ovat USA:ssa olleet tuhoisia.
      Maailman menoa
      364
      1847
    7. Saan kengurakkaan kotiin viikon päästä

      Mitä tapahtui? Martina hehkutti tätä stoorissaan reilu viikko sitten, mutta eipä aussimiestä Suomessa näkynyt, vaan tapa
      Kotimaiset julkkisjuorut
      241
      1482
    8. FinFamin ryhmät

      Älkää hyvät ihmiset luottako tähän tahoon. Ryhmiä on, mutta eivät ne toimi. Ihmisiä savustetaan ulos, vaikka näissä piir
      Salo
      0
      1231
    9. Olen vähän

      Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I
      Ikävä
      10
      1105
    10. Osmo Peltola voitti ansaitusti Kultaisen Venlan - Kirvoitti yleisöltä mahtavan reaktion!

      JEE, onnea Osmo! Osmo Peltola voitti Vuoden esiintyjän Kultainen Venla -palkinnon. Isä-Peltsin ja Osmon luontoseikkailu
      Suomalaiset julkkikset
      69
      1089
    Aihe