UT 4.13 und Direct3D
7. April 2000 / von RAL
Einleitung
Nun hat man sich also gerade dazu entschlossen, für ziemlich viel Geld eine neue Grafikkarte zu kaufen, um sein Lieblingsspiel Unreal Tournament in vollen Zügen genießen zu können. Die Wahl ist auf die viel gelobte GeForce 256 DDR von nVidia gefallen. Also frisch ans Werk, Karte in den AGP-Slot gesteckt, die neusten Treiber installiert (im Moment nVidia Beta Referenztreiber 5.13), Unreal Tournament auf Version 4.13 geupdatet und das Spiel gestartet.
Einen Trainingslevel geladen mit ein paar Bots, ein paar Frags gemacht. "Also irgendwie läuft es auch nicht viel schneller als vorher (mit TNT1)", denk' ich mir. "Muß ich da jetzt irgendwo noch was einstellen oder von D3D auf OpenGL umstellen oder gar einen Glide-Wrapper benutzen, damit es so läuft, wie man es sich von der schnellsten Spiele-Grafikkarte auf dem Planeten erwartet???"
Ein Blick auf die Unreal Technology Seite von Epic Games (http://unreal.epicgames.com/) stimmt mich zuversichtlich. "Aha sie haben dem Direct3D-Support eine extra Abteilung spendiert, da werde ich sicher ein paar Tips bekommen, wie ich mein neues Stromfresserle richtig ausreizen kann. D3DDRV.DLL aus dem /System -Verzeichnis gegen eine neue austauschen? Kein Problem, aber ich schau mir vorher mal die Vorgehensweise genauer an unter http://unreal.epicgames.com/direct3d.htm.
4!!! verschiedene D3DDRV.DLL Versionen soll man ausprobieren? OK - ich hab heute Nacht noch nichts weiter vor!" , denke mir aber meinen Teil dabei. Wer das Optimale will, muß halt probieren, und das habe ich euch hiermit abgenommen.
Testsystem
- Windows 98 SE
- Intel i440BX-Chipsatz mit Celeron 300A @ 450 (100MHz FSB)
- 128 MB PC100 CAS2 RAM
- Asus V6800 Pure (nVidia GeForce DDR, Coretakt 130 MHz, Speichertakt 320 MHz bzw. 160 MHz DDR), nVidia Referenztreiber 5.13
- Creative Soundblaster Live! Value (in allen Tests wurde ohne EAX gemessen)
- 19" Monitor CTX-VLST950 +USB
Einstellungen in Unreal Tournament wie in unseren Benchmark-Regeln beschrieben. Timedemolauf mit UTBench.dem.
Ergebnisse
1.) Direct3D von UT Patch 4.13 (http://www.bluesnews.com/files/ut/utpatch413.shtml)
D3DDRV.DLL von UT 4.13 | Minimum (fps) | Maximum (fps) | Average (fps) |
---|---|---|---|
1280*1024@32 Bit | 7,99 | 27,36 | 13,61 |
1280*1024@16 Bit | 9,65 | 29,26 | 18,82 |
1024*768@32 Bit | 9,91 | 29,18 | 17,19 |
1024*768@16 Bit | 11,20 | 32,30 | 20,07 |
800*600@32 Bit | 10,91 | 30,59 | 19,48 |
800*600@16 Bit | 11,78 | 33,79 | 21,54 |
Nicht gerade berauschend, was mit der original Direct3D-Umsetzung der Version 4.13 von UT für Frameraten zu erreichen sind mit der GeForce 256 DDR. In den D3D-Treibern der Version 4.13 gibt es noch die Einstellung UseVideoMemVB. Stellt man diese auf TRUE, ergibt sich auf dem Testsystem noch einmal ein Performanceverlust von durchschnittlich 10%.
2.) Direct3D Version 0.6 Beta (http://unreal.epicgames.com/files/d3d_06/d3ddrv.dll)
0.6 Beta D3DDRV.DLL | Minimum (fps) | Maximum (fps) | Average (fps) |
---|---|---|---|
1280*1024@32 Bit | 6,67 | 34,23 | 17,76 |
1280*1024@16 Bit | 12,43 | 36,80 | 22,63 |
1024*768@32 Bit | 10,93 | 38,24 | 22,67 |
1024*768@16 Bit | 12,20 | 37,26 | 23,06 |
800*600@32 Bit | 12,84 | 37,50 | 23,55 |
800*600@16 Bit | 12,71 | 37,93 | 23,49 |
Das sieht schon besser aus und bringt ca. 17% mehr fps gegenüber der Original-Version von UT Patch 4.13.
3.) Direct3D Version 0.8 Beta (http://unreal.epicgames.com/files/d3d_08/d3ddrv.dll)
0.8 Beta D3DDRV.DLL | Minimum (fps) | Maximum (fps) | Average (fps) |
---|---|---|---|
1280*1024@32 Bit | 6,58 | 20,71 | 10,81 |
1280*1024@16 Bit | 9,86 | 29,78 | 18,18 |
1024*768@32 Bit | 10,15 | 27,61 | 16,82 |
1024*768@16 Bit | 11,51 | 31,79 | 20,44 |
800*600@32 Bit | 10,40 | 29,01 | 18,88 |
800*600@16 Bit | 12,07 | 99,93 | 21,44 |
Die Version 0.8 Beta des D3D-Treibers bringt wieder große Performanceverluste. Sie ist auf dem Testsystem sogar etwas schlechter (ca. 4%) als die Originalversion von UT Patch 4.13.
4.) Direct3D von UT Patch 4.05b (http://unreal.epicgames.com/files/d3d_405b/d3ddrv.dll)
UT 4.05b D3DDRV.DLL | Minimum (fps) | Maximum (fps) | Average (fps) |
---|---|---|---|
1280*1024@32 Bit | 6,60 | 32,63 | 16,77 |
1280*1024@16 Bit | 11,55 | 33,51 | 21,25 |
1024*768@32 Bit | 9,93 | 36,49 | 21,62 |
1024*768@16 Bit | 11,86 | 35,96 | 21,77 |
800*600@32 Bit | 12,28 | 36,27 | 22,26 |
800*600@16 Bit | 12,14 | 36,66 | 22,18 |
Der D3D-Treiber von UT Patch 4.05b liegt ca. 5,5% hinter dem Spitzenreiter Version 0,6 Beta.
5.) OpenGL Beta-Treiber von UT Patch 4.13
OpenGL | Minimum (fps) | Maximum (fps) | Average (fps) |
---|---|---|---|
1280*1024@32 Bit | absturz | ||
1280*1024@16 Bit | absturz | ||
1024*768@32 Bit | 11,62 | 37,82 | 22,14 |
1024*768@16 Bit | 12,60 | 38,41 | 22,85 |
800*600@32 Bit | 11,78 | 37,93 | 22,74 |
800*600@16 Bit | 9,53 | 32,74 | 21,10 |
Der (immer noch) Beta-Support von OpenGL machte auf den ersten Blick einen recht guten und flotten Eindruck. Vor allem die Bildqualität überzeugte. Das Bild wirkte schärfer und die Farben kräftiger als unter Direct3D. Doch wie die Abstürze unter der Auflösung 1280*1024 mit 32 und 16 Bit zeigen, gibt es hier wohl noch Probleme mit dem Speichermanagment. Bei der Einstellung DoPrecache=1 in der Datei /System/OpenGlDrv.ini stürzte das Programm schon beim precachen ab. Mit Einstellung DoPrecache=0 irgendwann in der Mitte des UTBench Demos.
Was noch negativ auffiel, war, daß ein Wechsel der Farbtiefe in den Programmoptionen von UT ebenfalls einen reproduzierbaren Absturz verursachte. Die Auflösungen 1024*768 und kleiner liefen fehlerfrei durch, doch die Frameraten schwankten sehr stark während das Timedemo lief.
Andere Benutzer mit ähnlicher Konfiguration berichten, daß sie unter Direct3D Abstürze haben, während OpenGL stabil läuft. Auf dem Testsystem war jedenfalls genau das Gegenteil der Fall.
6.) Glide-Wrapper Unified (Download: Creative Unified)
Glide-Wrapper Unified 1.2 | Minimum (fps) | Maximum (fps) | Average (fps) |
---|---|---|---|
1600*1200 | 5,84 | 28,63 | 15,13 |
1280*1024 | 6,53 | 31,34 | 16,29 |
1024*768 | 8,91 | 30,16 | 16,69 |
800*600 | 8,95 | 30,82 | 17,13 |
Die Auflösung 1600*1200 konnte ich auf dem Testsystem nur mit dem Glide-Wrapper Unified 1.20 einstellen, unter D3D und OpenGL war bei 1280*1024 Schluß. Die Bildqualität war befriedigend, teilweise gab es Fehler beim Darstellen von Lichtquellen (Lampen). Die Performance des Glide-Wrappers ist die schlechteste von allen 3D-Schnittstellen, kein Wunder, müssen doch die Glidebefehle erst in D3D-Befehle umgewandelt werden, was kostbare Zeit verbraucht. Diese Schnittstelle ist also am wenigsten für schnelle 3-D-Action geeignet.
Fazit
And the winner is: D3DDRV.DLL Version 0.6 Beta mit einem respektablen Abstand zum zweiten D3DDRV.DLL von UT Patch 4.05b von ca. 5,5 % fps im Durchschnitt über alle getesteten Auflösungen. Wenn die OpenGL-Implementierung denn einmal aus dem Betastadium herauskommen sollte und sich damit die Abstürze und starken Schwankungen der Frameraten erübrigten, wäre OpenGL sicherlich die beste Wahl für GeForce 256-Besitzer.
So aber müssen wir uns im Moment mit D3D 0.6 Beta begnügen, was aber einen einigermaßen flotten Spielgenuß ermöglicht. Von der Geschwindigkeit der GeForce 256 unter Quake 3 Arena ist Unreal Tournament leider noch meilenweit entfernt, jedenfalls auf Prozessoren der mittleren und unteren Leistungsklassen.