Hi,
man merkt, Deine Frau ist nicht da ;D;D;D
Na ja also die Sache mit TCPA und Pala ist ja schon Sache von gestern, TCPA gibt es nicht mehr und wäre auch bei Linux gewesen. (Mal ehrlich: Seit wann kontrolliert ein Chip Programme?) Ist ja auch egal
Nun, ich erinnere mich auch noch super an meine Assemblerzeit, wo ich MEGA glücklich war einen einzigen Pixel unter MS-Dos zu sehen und ihn bewegen zu können! Vorallem war ich immer extrem baff als ich die 64KByte Demos gesehen habe wieviel geht.
Dann kam Raptor, Wing Commander uvm. Überall wurde der letzte Tropfen Performance rausgeholt durch sehr leichte und überschaubare Algos die schnell waren, jedoch oft auch auf Kosten der Genauigkeit. Aber es war sehr gut und ist es Heute noch!
Heute sieht man ISSE2 rumfliegen, 3DNow! und sonstige SIMD die von MMX abgeklatsch wurden und mit ihren 16,32,64 Bit Registern glänzen.
Man optimiert nicht mehr wie früher an Wurzelfunktionen und Algos, sondern nur noch um den Bottleneck am Bus zwischen CPU und GPU möglichst klein zu halten und interessiert sich nur noch dafür!
Jeder der den Code von Half-Life 2 schonmal gesehen hat, weil er durch Zufall drüber gestolpert ist, weiß was ich meine! Schlechter, unübersichtlicher und total bescheuerter Quick'n Dirty Style den sogar ein Newbie der 2 Wochen mit C++ bastelt besser optimieren kann, aber
Hauptsache unterstützung für SIMD. Als ob es damit getan wäre...
Jetzt vergleicht man mal den Code mit dem von 3DRealms Meisterwerk "Duke Nukem 3D" oder mit "Quake II", dann sieht man womit damals richtig Speed gemacht wurde! Nicht mit Schwachfug wie in dem Half-Life 2 code (oder anderen) sondern durch guten und gut durchdachten Codestyle der der Performance und Optimierung beiträgt (Vorallem zu damaligen Zeiten als Voodoo2 und co noch ein Traum war!!!)!
Heute in Zeiten von Electronic Bullshi.... äääh Arts geht es nicht mehr um die Kunst des Programmierens (Bugfrei, Portierbar, Erweiterbar, höchste Performance auf billig-Rechnern, usw.) sondern nur noch um Kommerz! Die Leute sollen sich neue GraKas kaufen und neue CPUs mit mehr Ghz und dazu noch ein 2 GByte DDR-Rambaustein! Wenn interessieren schon die Leute mit ner Radeon 9000 Pro oder MX?
Wer schlechte Optimierung an Grafik sehen will der schaue sich Doom III an und vergleiche dies mit FarCry! FarCry läuft in Höchsten Details auf meinem PC (2,1 GHZ AMD nd Radeon 9000 Pro) flüssig, jedoch ohne Shader und co. Aber Doom III? Um Gottes willen! Das kackt total auf meinem 2. PC mit einer GeForce FX total ab und das selbe auf der Radeon 9000 Pro!
Und FarCry hat mehr FPS, schönere Außenlevels und vorallem schönere Innenlevels! Aber Doom III? Lightningfehler, scharfe und kantige Schatten (Aber Hauptsache Self-Shadow!), verbuggt uvm.
Viele Hersteller scheißen (um's mal auf gut Deutsch zu sagen) auf LOD usw. wozu? Die GraKa richtet dies schon! Jedoch ich bin mir sicher, Doom III würde 100 FPS mehr haben wenn mal richtig LOD benutzt würde (das selbe bei den Sims 2).
Dann was momentan auch ein sehr interessanter aber total bescheuerter Trend ist: "Je mehr Shader, desto besser!"
Also bitte, für mich wäre das mit einem dicken Benz gegen den Baum fahren mit 240 Km/h. Seit wann haben Shader was mit Qualität zu tun? FarCry sieht auch ohne Shader sehr gut aus, zwar mit 50 FPS weniger, aber wen kümmerts?
Und vorallem was mich nervt an der GameIndustrie ist der enorme Verbrauch von Speicherplatz!
Nehmen wir mal Duke Nukem 3D wieder, Spielspass ca: 48h, 1.320 Texturen und 75 verschiedene Sounds + 16 Midi-lieder. Passte alles auf gute alte 14 MByte (MAXIMAL!!!) Würde man heute noch OpenGL reinstopfen wäre das höchstens noch 1 MByte mehr!
Anders sah es bei WingCommander aus, okay, das einzigste was soviel weggenommen hat waren die Videos! Aber sehen wir mal auf heute! Nehmen wir mal Conflict FreeSpace! 5 Videos Maximal unter 4 Minuten in 640x480x16 mit 26 FPS.
Resultat: 1,5 GigaByte! Für paar Modelle und co! Und über Unreal 2 möchte ich nichtmal reden...
Ich würde die Entwickler gerne eines fragen: "Könnt ihr Speicher und Geld scheißen?" Ich kann es nicht, ich kann mir für Half-Life 2 keine neu CPU holen oder Mainboard mit PCI eXpress!
Und was mich auch noch total aufregt (Und das MUSS jetzt mal raus!!) ist unsere verblödete Jugend der Kiddiegeneration die glaubt "Engine" ist das was man am Monitor sieht! Dabei ist eine Engine nur ein Wrapper und hat generell und auch in der Planungsphase soviel mit dem Spiel zu tun wie Nicky Lauder mit Fussballspielen. (GameStar, PCGames, PCAction und co. lassen grüßen mit diesem Schwachsinn!)
Irgendwie sehne ich mich schon noch an die alte Zeit wo sehr gute Spiele mit spitzen Grafik zu damaligen Zeiten noch auf 1-4 Disketten passten.
Na ja... Ich versuche auf jedenfall die eigentliche Kunst des Codens in meinen Programmen aufrecht zu erhalten auch ohne großartigen SIMD und Shaderbullshit.
Falls wer was über Optimierung durch Code-Style wissen will: Im FAQ steht was drüber von mir.
- Patrick, der sich nun mal austoben konnte ;D