Also von den beiden SYS-Treibern (K6-Pro.sys und K6DOS.sys) bin ich inzwischen weg, da sie vom eingestellten Wert für Write Allocation irgendwie immer 4 MiB oder so abgezogen hatten, wenn ich das dann unter Win98SE mit CTU kontrollierte.
Ich verwende inzwischen für
- Write Allocation -> K6WAON.EXE [RAM in MiB]
- Write Order -> SetEWB.EXE [0, 1, 2]
- Write Combining -> K6WCX.EXE [(Adresse LFB1) (Größe in 128 kiB des LFB1) (Adresse LFB2) (Größe in 128 kiB des LFB2)]
Beispiel aus meiner autoexec.bat für eine FireGL 8800 unter DOS (Die war da nur zeitweilig mal drinnen ) :
K6WAON.EXE 512 - aktiviert Write Allocation für 512 MiB RAM
SetEWB.EXE 2 - aktiviert schnellstes Write Order = keine Sortierung
K6WCX.EXE E0000000 2048 A0000 1 - aktiviert Write Combining für den ersten LFB im Adreßbereich E0000000-F0000000 der Grafikkarte also mit einer Größe von 256 MiB und den zweiten LFB im Adreßbereich A0000-BFFFF (= DOS-Speicher der Grafikkarte) mit einer Größe von 128 kiB.
Wenn Du Probleme feststellst, versuche es zunächst mit SetEWB 1 oder 0.
Die Startadresse für den LFB ermittle ich mit Hilfe von FINDLFB.EXE aus Phils DOS Benchmark Pack. Zu finden im Verzeichnis \MARKS\FASTVID\ (s. unten).
Die Größe des LFB mit dieser Startadresse zeigt dann der Gerätemanager von Win98SE an. Meistens ist es der erste Speicherbereich, der der Grafikkarte zugewiesen wird. Beispiel für die FireGL 8800:
FINDLFB zeigt zwei Adressen an: E0000000 und E8000000.
Lt. Gerätemanager wird ihr der Adreßbereich E000.0000-EFFF.FFFF zugewiesen, die zweite Adresse liegt also genau in der Mitte davon.
Wir stellen den Taschenrechner auf Hex und geben ein F0000000 (die obere Grenze = die nächste Adresse, die nicht mehr dazugehört) minus E0000000 (die untere Grenze) ist gleich 10000000h Byte. Wir stellen den Taschenrechner auf Dezimal um und erhalten dafür: 268.435.456 Byte, die wir zweimal durch 1024 teilen. Ergebnis: 256 MiB. Das multiplizieren wir mit 8, da jedes Megabyte aus 8 * 128 kiB besteht, und bekommen 2048, was wir bei K6WCX als Größe angeben.
Unter Windows ist es aber besser, bei K6WCX.EXE den Speicherbereich des AGP-System Controllers anzugeben, den Du ebenfalls im Gerätemanager in der Rubrik Systemkomponenten findest.
Bei meiner ArtX-Grafikkarte fand FINDLFB zwei Adreßbereiche D000.0000-D7FF.FFFF (128 MiB) und D800.0000-DBFF.FFFF (64 MiB). Nur der letzte brachte eine Performanceverbesserung. Wenn Du auch noch eine Voodoo2 mit Referenztreibern im System hast, biegen die beim Start von Win98SE mindestens einen der LFBs auf ihren eigenen Speicherbereich um (kann man mit CTU kontrollieren). Wenn Du dann mit einer anderen Grafikkarte arbeiten willst, mußt Du erst mit Hilfe des Kommandozeilenprogramms von CTU die gewünschte Konfiguration wiederherstellen.
Welche Kombination der Speicherbereiche für die beiden LFBs bei Dir die beste Performance bringt, kannst Du teilweise mit den DOS-Benchmarks herausfinden. Als besonders empfindlich haben sich hierfür bei mir
- Nr. 4 Chris's 3D Benchmark 640x480
- Nr. 6 PC Player Benchmark 640x480
gezeigt.
Da sich meine Rechtschreibfehler schon wieder häufen, mach ich hier jetzt erst einmal Schluß und wünsche Dir viel Spaß mit den Infos und beim Ausprobieren. Nichts ist schlimmer, als stundenlang immer wieder den gleichen Benchmark anzuschauen.
Leg Dir schon mal eine Packung Aspirin bereit!
Quelle für die Progrämmchen: