Benchmark results on a Ryzen 5 5600X:
— Victor Luchitz (@vluchitz) March 26, 2025
timedemo demo1.dm2 at 960x720
32bpp - 271.7fps
8bpp (original software renderer circa 1998) - 341.7fps
DL link: https://t.co/YWwgws7W0e
— Victor Luchitz (@vluchitz) March 25, 2025
- A hozzászóláshoz be kell jelentkezni
- 1303 megtekintés
Hozzászólások
Akkor 2025-ben eljutottunk oda, hogy mar akadas nelkul tudjuk futattni a Quake-et? 😂
- A hozzászóláshoz be kell jelentkezni
Mondjuk ha megnézed a Q2 RTX-et, pl. azt nem viszi semmi akadás nélkül még ma sem nativ 4K-ban, upscaling nélkül.
- A hozzászóláshoz be kell jelentkezni
De ez a cikk nem az RTX verziorol szol. Ugye?
- A hozzászóláshoz be kell jelentkezni
Nem teljesen értem, hogy mi ebben a pláne? Az, hogy az eredeti gyorsítók már nem léteznek és velük kompatibilis dolog sem, tehát lényegében a gyorsítós mód képe elérhetetlenné vált modern vason?
És úgy volt, hogy a szoftveres mód annó butított képet adott, azért nem volt köszönet benne?
Én ezekből kimaradtam annó, azért kérdezem.
A benchmarkra: a 271FPS teljesen élvezhető, nem hiszem hogy érdemes volna ezt tovább optimalizálni. Nyilván nem volna lehetetlen, meg lehetne kísérelni átírni OpenGL vagy Vulkan API-ra is. Csak akkor nem ilyen pár napos hackathon buli lenne :-)
- A hozzászóláshoz be kell jelentkezni
Valószínűleg a módosítás előtti kód is tökéletesen fut OpenGL grafikával szotveres MESA-n.
“Az ellenség keze betette a lábát”
- A hozzászóláshoz be kell jelentkezni
De akkor nem lenne értelme. Először szerintem ezek a gyorsítók még nem OpenGL APIt adtak, az a fejlődés következő foka volt.
- A hozzászóláshoz be kell jelentkezni
A 3Dfx Voodoo kártyái voltak a lólábak, ők a saját Glide apijukat adták a 3D gyorsításhoz és ez a korábbi játékoknál volt érdekes. Később a Glide mellé bekerült az OpenGL support is a driverbe, aztán mire lett Quake 2, addigra már OpenGL 1.1 -nél jártunk. A Quake 2 eredetileg Software és OpenGL renderer-el érkezett, viszont a szoftveres raszterizáló csak 8bpp színmélységet tudott és nem volt texture filtering sem.
Ha jól értelmezem itt a 32 bit igazából csak a színmélységet jelenti, szóval az egyetlen fejlődés itt a 8bpp->32bpp (esetleg talán valami texture filtering is, de ez utóbbi lehet csak a videó tömörítés jótékony hatása:D).
Érdekes, hogy nem minden esetben voltak rosszabbak a szoftveres renderelők, pl. a Half-Life (GoldSRC engine) ami egy félig meddig quake engine származék tartalmazott pár olyan extra effektet ami hardveres gyorsítás mellett nem volt elérhető (pl.: vízfelületek jobban néztek ki). Ez utóbbinak az volt az oka, hogy abban az időben OpenGL-el kizárólag a "fixed pipeline" volt elérhető (vagyis se Vertex, se Fragment shader nem volt), szoftveres oldalról pedig nem voltak megkötések, sokkal szabadabban lehetett ezeket kezelni.
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Annyiban voltak rosszabbak, hogy akkoriban mondjuk egy Pentium 166 MMX-en egy szoftver render Q2 egy diavetítés volt, egy 3D gyorsítón meg stabil 30 FPS.
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
pontosan ezt írtam, mert a legtöbb tekintetben rosszabbak voltak, egy dolgot emeltem ki, amiben nem :)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
nem minden esetben voltak rosszabbak a szoftveres renderelők
Voltak érdekes engine-ek, pl az 1999-ben megjelent Outcast kizárólag szoftveres renderert használt, a fixed pipeline 3D gyorsítók hiányossága miatt. A talaj/táj "voxel engine" (valójában raycasting), depth-of-field, antialias, bump mapping, tükröződések, betekintés szögétől függő átlátszóság a vízen, hullámok, bump-mappelt lábnyomok a hóban, és még sok olyasmi, amire éveket kellett várni, mire a videokártyák is tudtak ilyeneket. Egy erős P2-esen már játszható volt, ha jól emlékszem az 540 MHz-re húzott Celeronomon 400x300-ban egészen jól ment :)
- A hozzászóláshoz be kell jelentkezni
Igen, az Outcast egy üdítő kivétel volt arra, hogy soft. renderrel is lehet szép képet előállítani. Csak azt ne felejtsd el (én nem fogom, mert anno azért építettem egy új gépet 100 ezrekért, ami ma inkább milliós tétel lenne), hogy az Outcast fusson rajta rendesen. Egy atomerőmű kellett hozzá.
Szóval, nagyon leegyszerűsítve, játék 3D fronton 2025-re eljutottunk oda, hogy egy CPU képes arra, amire 25 éve egy 3D kártya képes volt :D
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
nem vagyok benne biztos, hogy a voodoo vitte volna a 271fps-t annóba
- A hozzászóláshoz be kell jelentkezni
Szerintem a válasz benn van a nyitóban:
32bpp - 271.7fps
8bpp (original software renderer circa 1998) - 341.7fps
Az övé 32 bites színmélységű, míg az eredeti Q2 szoftveres renderelője 8 bites volt:
Az eredeti Quake II szoftveres renderelője 16 bites színmélységet (High Color, 65 536 szín) használt. Bár a játék textúrái eredetileg 8 bites palettázott színekből álltak, a szoftveres renderelő 16 bites módba konvertálta a végső megjelenítéshez. Ez azt jelentette, hogy a világítási és transzparencia-effektek jobban néztek ki, mint ha maradtak volna 8 biten.
A Quake II OpenGL renderelője ezzel szemben teljes 24 vagy 32 bites színmélységet használt, ami jelentős vizuális javulást eredményezett.
Vagyis a csávó mostani szoftveres renderelője jobb színmélységet ad, mint anno az OpenGL-es 3D kártyákkal működő renderelő.
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Bevallom nem értem, ettől csak még több lett a kétségem. De el tudom engedni :-)
- A hozzászóláshoz be kell jelentkezni
Mondjuk tényleg van némi ellentmondás az idézetekben. Ezt a sok hallucinációt a 16 bitről nem egy LLM költötte hozzá egész véletlenül?
8bpp (original software renderer circa 1998)
vs.
Az eredeti Quake II szoftveres renderelője 16 bites színmélységet használt.
Megnéztem a forrást, és ez utóbbi állítás a hülyeség, az eredeti szoftveres renderelője palettás 8 bites volt (tehát 24 bpp színmélységű, de csak 255 különböző szín egyszerre, a 256. színt átlátszóságként kezelte). Anno a VGA kártya nem is tudott 16 bites pixeleket (csak az SVGA, de az is csak bankváltással, szóval lineáris 16 bites frambuffer csak VBE 2.0-tól volt).
Ez a renderer, amiről itt szó van, szintén szoftveres ugyan, de true-color packed pixeleket használ (ugyancsak 24 bpp színmélységű, de 16 millió szín egyszerre, plusz egy transzparens szín helyett külön alfa csatorna).
Vagyis a csávó mostani szoftveres renderelője jobb színmélységet ad, mint anno az OpenGL-es 3D kártyákkal működő renderelő.
Nem igaz. A hardveres GL renderer ugyancsak 24 bites volt, külön alfa csatornával, pont mint ez, nem volt semmivel sem jobb.
Bár a játék textúrái eredetileg 8 bites palettázott színekből álltak
És ez sem igaz, a szoftveresnek és a GL-esnek külön textúrái voltak, lásd L530. Az OpenGL renderelő 24 vagy 32 bites TGA fájlokból töltötte be a textúrát, 8 bites TGA betöltése még csak implementálva sincs benne.
- A hozzászóláshoz be kell jelentkezni
ohó, lesz miért beindítani a gamer masinát hétvégén :)
- A hozzászóláshoz be kell jelentkezni
A témanyitót idézve nem csak akkor volt alap a 3D kártya. Ma is már mindenben van, ha más nem integrált GPU, aminek ha fos is a sebessége, de a Q2, Q3 szintű játékokat 200-300 fps-en futtatja FullHD-ban minimum, ha nem 400-600 fps-en. A szoftveres rendernek nem sok értelme van, úgyis erős gép kell hozzá, meg pl. Linux alatt megoldott, hogy ha nincs 3D-s gyorsítás, akkor a mesa LLVMpipe-pal oldja meg, ami épp úgy szoftveres 3D render, amit a CPU számol, de működik minden 3D-s alkalmazással.
Így ez Windows-on ér csak valamit, de igazából ott se, mert ott meg fut az eredeti software render .dll, ami megoldja, mai gépeknek nem tétel. Igen, csak 8 bites render, de akinek az oldschool kinézet kell, az pont ezt keresi, aki 32 bites színmélységet akar, az használja GPU renderrel, és visszaérkezünk oda, hogy ma már mindenben van GPU, telóban, táblagépen, SBC-n, x86-on, ARM-en, RISC-V-n, stb..
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
ez Windows-on ér csak valamit, de igazából ott se,
Ennek nem is az a lényege, hogy ott ér-e valamit és én se azért tettem ide, mert innentől felesleges a 3D kártya. Jézus!
trey @ gépház
- A hozzászóláshoz be kell jelentkezni