Ylikellottaja viritti ISA-väylän liki 3,5-kertaiselle nopeudelle #ISADoom25FPS-haasteessa

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
22 494
isadoom25fps-vswitchzero-20230609.jpg


Kaotik kirjoitti uutisen/artikkelin:
Nettiin ilmestyy aina silloin tällöin mielenkiintoisia retroprojekteja. Tällä kertaa menneitä parempia aikoja muistelleiden sydäntä lämmittää VswitchZero, joka on lähtenyt testaamaan ISA-väylän rajoja.

VswitchZero on ottanut vastaan CPU Galaxyn #ISADoom25FPS-haasteen ja lähtenyt metsästämään 25 FPS:n rajapyykkiä alkuperäisessä Doomissa ISA-väyläisellä näytönohjaimella. Tavoite kuulostaa ensi alkuun helpolta, mutta äärimmäisen hitaalla ISA-väylällä aikansa nopeatkin näytönohjaimet pääsivät helpolla vain noin 20 FPS:ään.



VswitchZero valitsi haasteeseensa MSI:n emolevyn SiS:n piirisarjalla, johon asennettiin Evergreenin ”päivitysprosessori” AMD:n Am5x86-prosessori, joka on käytännössä nopein mahdollinen 486-luokan prosessori. Prosessoria ajettiin testeissä 150 MHz:n kellotaajuudella (3 x 50 MHz). Näytönohjaimena toimi ATi Mach32. Tallennustilaksi asennettiin VESA Local Busiin sopivalla kortilla ja adapterilla CompactFlash-muistia.

Videolla käydään läpi VswitchZeron matkalla kohtaamia ongelmia muun muassa BIOSin kanssa, sillä oikotie onneen ja 25 FPS:n Doomiin vaati ISA-väylän ylikellotusta, mikä ei onnistunut ensi alkuun. BIOS-päivityksen ja sen muokkaamisen jälkeen VswitchZero sai kuitenkin ylikellotuksen toimimaan ja sen myötä hän pääsi tavoittelemaan sulavaa Doomia.

[gallery link="file" columns="2" size="medium" ids="88269,88270"]

Vakiona ISA-väylä toimii noin 8 MHz:n kellotaajuudella, mutta tässä tapauksessa vakiona se tippui erillisen kellopiirin myötä 7,16 MHz:iin. Tulostaulukossa se tuotti vaivaisen 18,7 FPS:n suorituskyvyn. 8,33 MHz väylänopeus nosti tuloksen 21,1 FPS:ään ja 10 MHz jostain syystä vain 21,6 FPS:ään. 12,5 MHz:n ISA-väylä tuotti jo parempaa tulosta ja hän saavutti 25 FPS:n tavoitteensa, tarkemmin 25,1 FPS. Kun rauta on kuumaa, sitä kuuluu takoa, ja ylikellotustestit saivat jatkoa. 16,67 MHz:iin ylikellotetulla ISA-väylällä kokoonpano ylti jo 30,4 FPS:ään ja lopulta 25 MHz:n kellotaajuudella jopa 35,7 FPS:n suorituskykyyn. Käytännössä siis ISA-väylän kellotaajuuden noin 3,5-kertaistaminen tuotti kokoonpanolla 90 % paremman suorituskyvyn Doomissa. Lisäksi videolta löytyy Doom-tuloksia eri asetuksilla ja puhtaalla ISA-kokoonpanolla ilman VLB-väyää sekä 3DBench 1.0c -testiohjelman tulokset. Samat kellotukset toivat 3DBenchissä noin 70 % parannuksen.

Lähde: Tom's Hardware

Linkki alkuperäiseen juttuun
 
Viimeksi muokattu:
Doom ei ollut näytönohjainriippuvainen alunperin. Grafiikka laskettiin suoraan prosessorilla (esim. mitkä seinät näkyivät tuli BSP-puusta) ja näytönohjain piirsi vaan skaalattuja viivoja. Luulisi , että 320 skaalaattua viivaa onnistuisi ihan millä vaan näytönohjaimella.

Tämä taitaa olla näitä "nykyajan hömpötyksiä" ja joku GLdoom-perillinen?
 
Doom ei ollut näytönohjainriippuvainen alunperin. Grafiikka laskettiin suoraan prosessorilla (esim. mitkä seinät näkyivät tuli BSP-puusta) ja näytönohjain piirsi vaan skaalattuja viivoja. Luulisi , että 320 skaalaattua viivaa onnistuisi ihan millä vaan näytönohjaimella.

Tämä taitaa olla näitä "nykyajan hömpötyksiä" ja joku GLdoom-perillinen?
Pullonkaula ei ole varsinaisesti näytönohjaimessa vaan väylässä prossun ja näytönohjaimen välissä.

prossun ja näyttiksen pysyessä samana VLB vs ISA on ihan jäätävä ero pelitehoissa
 
Doom ei ollut näytönohjainriippuvainen alunperin. Grafiikka laskettiin suoraan prosessorilla (esim. mitkä seinät näkyivät tuli BSP-puusta) ja näytönohjain piirsi vaan skaalattuja viivoja. Luulisi , että 320 skaalaattua viivaa onnistuisi ihan millä vaan näytönohjaimella.

Tämä taitaa olla näitä "nykyajan hömpötyksiä" ja joku GLdoom-perillinen?
Ei ole. Täällä selitetty: DOS Benchmark Pack
 
Aika on kullannut sitten muistot. Olen pelannus Doomia Am386SX @ 33MHz (en muista väylää, näytönohjain S3, tms.) joskus. Täydellä ruudulla. Detaljien laskuhan oli silloin sitä, että laskettiin ikkunan kokoa. Vähintään 486DX4:llä @ 100MHz (VLB) se toimi täysin nykimättä ja Doom ja Doom 2 on sillä koneella pelattu läpi.

Lisäksi VGA mahtui yhteen muistisegmenttiin, joka oli 65536 tavua. VGA 320x200 vei 64000 tavua muistia, että voisi sanoa 64K, ja voitte tulkita kilotavun niinkuin haluatte. Niin 100 fps veisi ~6.4MHz riippuen tuosta tulkinnasta. Ei sen pitäisi väylästä olla kiinni.
 
Doomista on myös nykyään optimoidumpi versio, joka pääsee testatulla laitteistolla 26 fps:ään ilman ylikellotuksia: GitHub - viti95/FastDoom: Doom port for DOS, optimized to be as fast as possible!

Tuolla ainakin tekijän taulukon mukaan saa 33% lisää tehoja jos ei halua luopua äänistä, ilman ääniä enemmänkin. Alkuperäinen Doom taisi käyttää Mode Y:tä grafiikkaan ja joidenkin lähteiden mukaan Mode 13h olisi ainakin joillain ISA-korteilla selvästi nopeampi.

Doom ei ollut näytönohjainriippuvainen alunperin. Grafiikka laskettiin suoraan prosessorilla (esim. mitkä seinät näkyivät tuli BSP-puusta) ja näytönohjain piirsi vaan skaalattuja viivoja. Luulisi , että 320 skaalaattua viivaa onnistuisi ihan millä vaan näytönohjaimella.
Niin grafiikat laskettiin 90-luvulla usein keskusmuistissa koska oli nopeinta. Doom myös käytti kai Mode Y:tä, koska siinä tiedon tuuppaaminen väylän yli oli nopeaa (koska VGA sisäisesti käyttää bitplaneja), mutta sitten Mode Y:n vaatima bitplanen vaihto näytönohjaimella oli taas näytönohjainriippuvaista ja jossain korteissa todella hidasta.
 
Viimeksi muokattu:
Aika on kullannut sitten muistot. Olen pelannus Doomia Am386SX @ 33MHz (en muista väylää, näytönohjain S3, tms.) joskus.

Kaverin vastaavalla koneella tuli myös ensimmäisen kerran Doomia pelattua. Sinne assosioituu oma mielikuvani "tulitikkuaskista" kun puhutaan grafiikan tasosta.

Lisäksi VGA mahtui yhteen muistisegmenttiin, joka oli 65536 tavua. VGA 320x200 vei 64000 tavua muistia, että voisi sanoa 64K, ja voitte tulkita kilotavun niinkuin haluatte. Niin 100 fps veisi ~6.4MHz riippuen tuosta tulkinnasta. Ei sen pitäisi väylästä olla kiinni.
Eikö tuohon pitäisi huomioida myös värit, 256, jolloin pakkaamaton ruutu vie jo 16 Mt. Edelleen 25 fps, ja puhutaan jo melkein puolen gigatavun datamäärästä / sekunti. Kun huomioidaan että sitä kuvaa oli kuitenkin pakattu ja optimoitu, niin silloin tuo minusta kuulostaa ihan uskottavalta että alkuperäinen ISA rajoitti ja fps:t nousi kunhan väylän taajuutta saatiin nostettua.
 
Eikö tuohon pitäisi huomioida myös värit, 256, jolloin pakkaamaton ruutu vie jo 16 Mt. Edelleen 25 fps, ja puhutaan jo melkein puolen gigatavun datamäärästä / sekunti. Kun huomioidaan että sitä kuvaa oli kuitenkin pakattu ja optimoitu, niin silloin tuo minusta kuulostaa ihan uskottavalta että alkuperäinen ISA rajoitti ja fps:t nousi kunhan väylän taajuutta saatiin nostettua.
Siis VGA:n Mode 13h on tuollainen pseudo-chunky-moodi, jossa yksi pikseli vie tasan yhden tavun. Eli täysi ruutu vie tarkalleen 64 000 tavua (62,5 kiB). Palettia säädetään erikseen. Ei kuvaa ole pakattu mitenkään ellei paletin käyttöä laske sellaiseksi. Doomissa voi säästää kaistaa lähinnä sillä, että ruudun alaosan statusnäkymää ei ole pakko päivittää joka frame. Myös näkymän reunat ovat staattiset, niin jos sitä näkymää pienentää, kaistaa kuluu vähemmän.
 
Eikö tuohon pitäisi huomioida myös värit, 256, jolloin pakkaamaton ruutu vie jo 16 Mt. Edelleen 25 fps, ja puhutaan jo melkein puolen gigatavun datamäärästä / sekunti. Kun huomioidaan että sitä kuvaa oli kuitenkin pakattu ja optimoitu, niin silloin tuo minusta kuulostaa ihan uskottavalta että alkuperäinen ISA rajoitti ja fps:t nousi kunhan väylän taajuutta saatiin nostettua.

Ei, kun se oli 256 värin indeksoitu paletti, joka mahtui yhteen 8-bittiseen tavuun. Eli edelleen 64K / frame.

Värit sitten valittiin 18-bittisestä taulukosta, mutta se on asia erikseen. Niitä oli Doomissa ruudulla kerrallaan 256.
 
Todella kova suoritus saada edes se ISA-väyläinen näytönohjain pyörimään ko. väylässä 25 MHz kelloilla kun ottaa huomioon, että 12 MHz ylittäminen käsittääkseni aiheuttaa monien laajennuskorttien kanssa hyvin nopeasti ylimääräisiä ei-toivottuja ohjelmanumeroita. Omalta osaltani suorituksen arvoa kuitenkin jonkun verran heikentää se, että tässä vedossa on käytetty VLB I/O-korttia. Kun ajattelee tuon ajan kalustoa niin vuonna 1992 nopeimmat prosessorit joita ehti ennen VLB-väylän tuloa ilmestyä olivat 486DX2/66 ja 486DX/50. Kummatkin näistä olivat näytönohjaimen osalta jo tuolloin ISA-väylän rajoittamia ja koska emolevyille integroitua I/O:ta ei tavan Baby AT-emolevyissä ollut, jouduttiin niissä käyttämään ISA-väyläisiä I/O-kortteja. Siinä mielessä tuo setup ei vastaa sen ajan kokoonpanoja sillä mikäli koneessa on ylipäätänsä ollut VLB-väylä niin suunnilleen ensimmäisenä se VLB-näytönohjain on hankittu pullonkaulaa poistamaan. Tämä testi kyllä hyvin ansiokkaasti tuo esille sen, miten pahasti ISA-väylä oli pullonkaulana ennen VLB:n ilmestymistä.

Itselläni oli joskus vuoden 1998 tienoilla eräässä mahdollisimman halvalla tehdystä käytetyistä osista hankitussa räpellyskokoonpanossa jokin ISA-väyläinen emolevy 486DX2/50-prosessorilla ja 8x 1 megan 30pin SIMMeillä. Kyseisellä kokoonpanolla Doom pyörähteli joten kuten mutta tässä esimerkissä nähty ISA-väylän pullonkaula kävi kyllä hyvin ilmeiseksi silläkin setillä. Mistään ISA-väylän ylikellottamisesta ja siitä saavutettavista eduista ei tuolloin ollut kyllä harmaintakaan hajua. :smoke:
 
Todella kova suoritus saada edes se ISA-väyläinen näytönohjain pyörimään ko. väylässä 25 MHz kelloilla kun ottaa huomioon, että 12 MHz ylittäminen käsittääkseni aiheuttaa monien laajennuskorttien kanssa hyvin nopeasti ylimääräisiä ei-toivottuja ohjelmanumeroita. Omalta osaltani suorituksen arvoa kuitenkin jonkun verran heikentää se, että tässä vedossa on käytetty VLB I/O-korttia.
Siellä lopussa on ISA I/O:lla testiä myös, 16,67 ja 20 MHz ISA-väylillä saanut jonkun vielä pelittämään, mutta prossua pitänyt ajaa myös eri kellotaajuuksilla. Pääsee nippanappa yli 30 FPS ISA I/O:llakin
 
Siellä lopussa on ISA I/O:lla testiä myös, 16,67 ja 20 MHz ISA-väylillä saanut jonkun vielä pelittämään, mutta prossua pitänyt ajaa myös eri kellotaajuuksilla. Pääsee nippanappa yli 30 FPS ISA I/O:llakin

Tarkemmin kun videon kävi läpi niin juurikin näin.
 
Nopeammat 486-koneet vaikkapa Am5x86/160 tykkäävät jo VLB-väylänkin kellottamisesta. 33MHz vs. 50MHz VLB-kello näkyy selvästi benchmarkeissa. Esim. Cirrus 5434 tuon kestää.
 
Doomista on myös nykyään optimoidumpi versio, joka pääsee testatulla laitteistolla 26 fps:ään ilman ylikellotuksia: GitHub - viti95/FastDoom: Doom port for DOS, optimized to be as fast as possible!

Tuolla ainakin tekijän taulukon mukaan saa 33% lisää tehoja jos ei halua luopua äänistä, ilman ääniä enemmänkin. Alkuperäinen Doom taisi käyttää Mode Y:tä grafiikkaan ja joidenkin lähteiden mukaan Mode 13h olisi ainakin joillain ISA-korteilla selvästi nopeampi.
Taulukon perusteella tota 33% varten pitää kuitenkin laittaa Wolfenstein-tyyliin katon ja lattiatekstuurien renderöinti pois päältä, vaatimattomammin tulee lisänopeutta jos haluaa saman grafiikan tason säilyttää ja äänet.
 
Melkein kaikki 16-bittiset 90-luvun alkupuolen ISA-kortit kestivät 12.5MHz väylän, 13.3MHz oli jo vähän sillä rajalla. 16.6MHz ISA-kaistaa en tainnut kokeillakaan koska VLB tuli samoihin aikoihin ja likimain tuplasi kaiken, eli nimenomaan sen näytönohjainpuolen jolla oli merkitystä.
 
Niin 100 fps veisi ~6.4MHz riippuen tuosta tulkinnasta. Ei sen pitäisi väylästä olla kiinni.

Jos väylä olisi tehokkaasti ainoastaan sen näyttiksen käytössä. Vanhassa PC:ssä ISA-väylässä on kiinni ihan kaikki, ja konfliktinhallinta oli vähän aataminaikaista, minkä takia siitä ei saa lähellekkään teoreettista kaistaa irti.
 
Jos väylä olisi tehokkaasti ainoastaan sen näyttiksen käytössä. Vanhassa PC:ssä ISA-väylässä on kiinni ihan kaikki, ja konfliktinhallinta oli vähän aataminaikaista, minkä takia siitä ei saa lähellekkään teoreettista kaistaa irti.

Juu, tästä en ota vastuuta, ja pääpointtini oli se, että VGA-ruutu mahtui aataminaikaiseen muistisegmenttiin, joka oli 64K. Jos ei kikkailtu modeX:n ja sen kavereiden kanssa ja ei suurin osa jaksanut. Jotenkin luulisi, että niitä olisi saatu näytölle sitten enemmän, kun teoreettinen väylänopeus ei voi olla esteenä.
 
386dx40mhz pyöritti doomia. Ihan modeemi yhteyden ylikin.
386DX/40'llä mentiin täälläkin, kellotettu Cirrus 5422 auttoi hitusen. Modeemilla ei tosin tullut pelattua, sarjakaapelilla kahdella koneella jolloin lagista ei ollut ongelmaa. LAN-pelaamiseen siirryttiin vasta Master Of Orion-aikana, MOO2'sta pelattiin 3-4 pelaajan LAN-sessioina parhaimmillaan 10-12h putkeen. Nuorena jaksoi...
 
386DX/40'llä mentiin täälläkin, kellotettu Cirrus 5422 auttoi hitusen. Modeemilla ei tosin tullut pelattua, sarjakaapelilla kahdella koneella jolloin lagista ei ollut ongelmaa. LAN-pelaamiseen siirryttiin vasta Master Of Orion-aikana, MOO2'sta pelattiin 3-4 pelaajan LAN-sessioina parhaimmillaan 10-12h putkeen. Nuorena jaksoi...
Oli melkoinen wow efekti kun koneet yhdistyi... Oli kumminkin kilometri matkaa mutta paljon enemmän kuin samassa tilassa.
 

Statistiikka

Viestiketjuista
258 621
Viestejä
4 493 845
Jäsenet
74 265
Uusin jäsen
NiuNau

Hinta.fi

Back
Ylös Bottom