Der "Software-Blitter" Turbo ST von Bela dürfte vielen ST-Besitzern bereits bekannt sein. Aus dem gleichen Hause ist nun das Programm NVDI erschienen, das ebenfalls dafür sorgen soll, der Bildschirmausgabe des ST Beine zu machen. Aber nicht nur das. NVDI hat eine ganze Menge mehr zu bieten.
Neben einem höheren Kompatibilitätsgrad zu der immer größer werdenden Anzahl an ST-Programmen stellt NVDI ein völlig neu programmiertes GDOS inklusive neuem VDI dar. Es ist zudem noch kompatibel zu GEM 2.x, das ja leider nur über eine holländische Firma für den ST erhältlich ist. Aber vielleicht sollte man zunächst einmal erklären, was es mit Begriffen wie VDI, AES und GDOS eigentlich auf sich hat.
Die grafische Oberfläche GEM des ST setzt sich aus mehreren Bestandteilen zusammen. Da ist zunächst einmal das AES (Application Environment Services). Dieser Teil des GEM ist für die Verwaltung komplexer Funktionen zuständig. Hierzu zählen unter anderem die Bedienung der Menüleiste und der Fenster sowie das Zeichnen und Verwalten von Dialogboxen.
Für seine Arbeit benötigt das AES gewisse grafische Grundfunktionen, die es beispielsweise ermöglichen, Rechtecke zu zeichen (Umrahmung von Dialogboxen) oder Bildschirmbereiche zu invertieren (Selektieren von Knöpfen). Diese Routinen werden vom VDI (Virtual Device Interface) zur Verfügung gestellt. Das VDI stellt somit die unterste Ebene der Bildschirmroutinen dar. (Zwar greift das VDI seinerseits für einfache grafische Funktionen auf die sogenannten LINE-A-Routinen zurück, jedoch soll hierauf nicht näher eingegangen werden, da diese Routinen aus Kompatibilitätsgründen nicht mehr verwendet werden sollten.)
Eine der großen Ideen hinter GEM war (oder ist vielleicht immer noch), eine bedienerfreundliche Oberfläche zur Verfügung zu stellen, unabhängig von Ein- oder Ausgabegeräten. Man kann also seine Eingaben über beliebige Geräte vornehmen und das Ergebnis z.B. auf dem Bildschirm oder auf einem Drucker ausgeben lassen. So verhält es sich zumindest in der Theorie. In der Praxis sieht es beim Atari ST leider ein wenig anders aus. Da es Atari aus Platzgründen nicht möglich erschien, das komplette VDI mit in den 192kB ROM des ST unterzubringen, wurden einige VDI-Funktionen weggelassen. Hierbei handelt es sich in erster Linie um Routinen, die für die Verwaltung neuer Zeichensätze benötigt werden. Außerdem beinhaltet das VDI des ST nur einen Treiber für den Bildschirm und besitzt keine Routinen zur Verwaltung weiterer Gerätetreiber, so daß das GEM um eine wichtige Eigenschaft beraubt wurde.
Um nicht ganz auf das vollständige VDI verzichten zu müssen, wird von Atari ein Programm namens GDOS (Graphics Device Operating System) zur Verfügung gestellt, das das VDI des ST um die fehlenden Funktionen ergänzt und bei Bedarf nachgeladen werden kann.
Leider hat sich gezeigt, daß bei installiertem GDOS die Geschwindigkeit der GEM-Bildschirmausgabe geringer wird. (Die abgedruckte Tabelle mit Geschwindigkeitsvergleichen zeigt dies am Beispiel des Atari GDOS V 1.1. Ein Kommentar erübrigt sich.) Dies dürfte der Hauptgrund sein, warum das GDOS nicht gerade zu den beliebtesten residenten Programmen für den ST zählt.
Mit NVDI steht nun ein GDOS zur Verfügung, das insbesondere die Geschwindigkeitsnachteile der bisherigen GDOS-Versionen wettmachen will. Es enthält nicht nur die fehlenden VDI-Routinen (also das eigentliche GDOS), sondern stellt vielmehr ein komplett neu programmiertes VDI dar. Und in der Tat kann sich die Geschwindigkeit von NVDI sehen lassen. Ein Urteil können Sie sich selbst bilden, wenn Sie die Ergebnisse der Geschwindigkeitstests vergleichen.
Um beurteilen zu können, welchen Einfluß ein Programm auf die Geschwindigkeit der Bildschirmausgabe hat, bieten sich Messungen mit dem PD-Programm Quickindex (neuere Version nicht mehr PD!) an. Dieses Programm erlaubt den Vergleich verschiedener Systemkonfigurationen. Die Tabelle zeigt Vergleichsdaten von Tests, die auf einem Atari ST mit Monochrommonitor und TOS 1.4 sowie auf einem TT in der hohen ST-Auflösung durchgeführt wurden. Um die Geschwindigkeitssteigerung durch NVDI besser einordnen zu können, wurde Turbo ST 1.8 als Referenz herangezogen. Weiter wurde zum Vergleich noch mit dem NVDI-Testprogramm getestet (Näheres darüber finden Sie im Kasten).
Es ist leicht zu erkennen, daß NVDI nicht nur relativ zur "normalen" Geschwindigkeit unter TOS 1.4 gut abschneidet (dies ist auch keine Kunst), sondern auch im Vergleich mit Turbo ST in manchen Punkten sogar schneller ist.
Da das gesamte GEM-System (also AES, VDI und GDOS) interaktiv funktioniert, ist natürlich ein Teil nur so gut wie die anderen. Deshalb wollen wir Ihnen auch nicht verheimlichen, daß auch in Richtung AES seit langem Optimierungen stattgefunden haben. Leider sind diese Änderungen meist nur auf Insider-Kreise beschränkt, da sie in keiner Form kommerziell angeboten werden. Vielleicht passiert das ja noch irgendwann einmal, wenn auch Atari momentan kein Interesse daran zeigt, Verbesserungen inoffizieller TOS-Versionen in die eigenen Entwicklungen zu übernehmen. Paradebeispiel für eine solche verbesserte TOS-Version stellt das sogenannte KAOS-TOS von Andreas Kromke, Dirk Katzschke und Normen Kowalewski dar. Dieses wurde in Form verschiedener TOS-Patches in der Zeitschrift c't vorgestellt.
NVDI profitiert besonders von der Optimierung der AES-Routinen, die im KAOS-TOS vorgenommen wurden. Eine Zusammenarbeit von KAOS-TOS und NVDI sorgt deshalb für einen zusätzlichen Geschwindigkeitsgewinn. Wünschenswert wäre es, wenn beide ins Betriebssystem integriert würden und als Ersatz für das von Atari gelieferte AES/VDI benutzt werden könnten. Aber das ist zur Zeit wirklich nur ein Wunschtraum, da sich Atari nicht zur Akzeptanz verbesserter TOS-Versionen durchringen kann.
Wie Sie den Tabellen entnehmen können, wird durch den Einsatz von NVDI eine deutliche Geschwindigkeitssteigerung erreicht.
Wünscht man sich einen schnelleren ST auf dem Tisch, baut sich der finanzkräftigere Anwender eine sogenannte Accelerator-Karte in seinen ST ein. Davon gibt es auf dem Markt inzwischen eine ganze Reihe in den unterschiedlichsten Preislagen. Die Palette reicht vom schneller getakteten 68000-Prozessor bis zum Einbau eines "großen Bruders" wie dem 68020 oder sogar dem 68030, wie er im TT zu finden ist. Übrigens haben wir NVDI ebenfalls mit einem 68010-Prozessor, dem MAXON Board20 (68020) und der proVME 68030-Karte getestet. NVDI lief ohne Probleme.
Geht es um eine Beschleunigung der Grafikroutinen, zieht ein normaler ST mittels NVDI in vielen Punkten mit dem TT gleich und übertrifft dessen Geschwindigkeit sogar. Und dabei (man höre und staune) liegt der Preis von NVDI deutlich unter dem eines TT.
Auch auf einem TT zeigt NVDI seine Wirkung. Es läuft auf allen TT-Auflösungen. Die Vergleichstabelle dokumentiert den Geschwindigkeitszuwachs durch NVDI zwar mit Zahlen, aber man muß es einfach selber gesehen haben, wie blitzartig Dialogboxen nun auf dem Bildschirm erscheinen.
Nun könnte man auf die Idee kommen, sich folgende Systemkonfiguration zusammenzustellen: KAOS-TOS, NVDI und zusätzlich Turbo ST. In dieser Kombination könnte nochmals eine Geschwindigkeitssteigerung bei der Text- und Grafikausgabe erreichbar sein.
Leider ist es nicht möglich, mit der angegebenen Programmkombination zu arbeiten. NVDI und Turbo ST vertragen sich nämlich nicht miteinander. Möglicherweise hält sich Turbo ST nicht an die VDI-Konventionen. Da sowohl NVDI als auch Turbo ST von Bela vertrieben werden, kann man nur hoffen, daß hier das letzte Wort noch nicht gesprochen ist.
Werden Teile des Betriebssystems neu programmiert, sind Kompatibilitätsprobleme nicht auszuschließen. Gerade das VDI enthält viele elementare Routinen, die von eigentlich jedem grafisch orientierten Programm genutzt werden. Die Neuprogrammierung aller VDI-Funktionen ist somit ein Prüfstein für Programme, die das VDI nutzen. Programme, die sich beim Aufruf des VDI nicht an die vorgegebenen Richtlinien halten, können Schiffbruch erleiden. Hier heißt es insbesondere für den Assembler-Programmierer, wirklich alle Register, die durch einen VDI-Aufruf verändert werden könnten, vorher zu sichern. Turbo ST-Besitzer können hiervon ein Lied singen. Der deutliche Geschwindigkeitszuwachs wurde bei diesem Programm dadurch erreicht, daß ein großer Teil der für die Ausgabe auf dem Bildschirm verantwortlichen Betriebssystemfunktionen einfach ersetzt wurde. Daß dieses Vorgehen nicht unbedingt sauber war, bescheinigen einige (eventuell ebenfalls unsauber programmierte) Programme, die in Verbindung mit Turbo ST nicht mehr einwandfrei funktionieren.
Die Suche nach Programmen, die sich nicht mit NVDI vertragen, war, von Turbo ST einmal abgesehen, erfreulicherweise nicht von Erfolg gekrönt. Wie sauber es programmiert ist, bewies sogar ein Testlauf. mit dem Atari ST-Emulator Chamäleon auf einem Amiga.
Auf der mitgelieferten Diskette befindet sich ein Programm, das die gesamte Installation von NVDI übernimmt. Also keine Probleme für Anfänger und reine Anwender.
In manchen Fällen dürfte es nützlich sein, daß Teile von NVDI über ein mitgeliefertes Accessory abgeschaltet werden können, um Kompatibilitätsprobleme zu mindern. Wichtig ist in diesem Zusammenhang vor allen Dingen die Möglichkeit, das GDOS abzuschalten, da manche Programme sich hiermit nicht vertragen. Komplett abschalten läßt sich NVDI übrigens nicht. Stößt man also auf ein Programm, das sich mit NVDI gar nicht verträgt, bleibt nichts anderes übrig, als neu zu booten.
Neben der eigentlichen GDOS-Konfiguration kann über das soeben erwähnte Accessory auch ein in NVDI integrierter Mausbeschleuniger ein- bzw. abgeschaltet werden.
Nun zur Gretchenfrage: Lohnt sich die Anschaffung von NVDI? Schließlich gibt es ja auch andere Programme, die für eine schnellere Bildschirmausgabe sorgen. Oder bietet NVDI mehr? Diese Frage läßt sich klar mit ja beantworten. Schließlich darf man nicht vergessen, daß NVDI nicht einfach nur ein schneller Bildschirmtreiber ist, sondern auch ein komplettes VDI inklusive GDOS-System darstellt. (Für Programmierer von Bedeutung: Auch der zusätzliche ,Befehlsumfang des VDI im GEM V2.x wird unterstützt.) Turbo ST ist nur noch bei Zeichenausgaben über das BIOS schneller als NVDI, nicht jedoch bei der wichtigeren Grafikausgabe über das GEM.
Im Gegensatz zu Turbo ST arbeitet NVDI ohne Probleme mit billigen Grafikerweiterungen wie Overscan oder Mega-Screen zusammen. Ebenso werden Großbildschirme wie z.B. die von Matrix und die MAXON MGE-Grafikkarte (hier allerdings nur in der Monochromauflösung) unterstützt.
Für diejenigen, die stets zuwenig freien Speicher besitzen, dürfte noch interessant sein, daß NVDI sparsamer mit Speicherplatz umgeht als Turbo ST.
Alles in allem stellt sich nicht die Frage, ob sich der Kauf von NVDI lohnt (mit 99 DM ist man dabei), sondern es ist eher angebracht, sich Gedanken über die Zukunft von Turbo ST zu machen. Für alle diejenigen, die noch nicht im Besitz von Turbo ST sind, stellt NVDI eindeutig die bessere Alternative dar.
US/HE
Bezugsadresse:
Bela Computer GmbH
Unterortstr. 23-25
6236 Eschborn
Quickindex-Geschwindigkeitsvergleich
TOS 1.4 | TOS 1.4 | TOS 1.4 | |
Turbo ST | GDOS V1.1 | NVDI | |
Text: | 326% | 100% | 285% |
String: | 1347% | 100% | 1069% |
Scroll: | 136% | 100% | 131 |
Draw: | 284% | 78% | 308% |
KAOS | KAOS-TOS | Atari TT | TT/NVDI* | |
TOS 1.41 | NVDI | norm. / fast | norm. / fast | |
Text: | 98% | 286% | 210% / 223% | 213% / 635% |
String: | 117% | 1075% | 208% / 208% | 2787% / 2828% |
Scroll: | 101 % | 132% | 225% / 225% | 237% / 237% |
Draw: | 114% | 367% | 180% / 180% | 452% / 452% |
*Auf dem TT wurde nur im ST-Hoch-Modus im Normal- und im Fast-RAM gemessen.
Bei dem NVDI-Test handelt es sich um einen speziellen VDI-Test, der sich auch auf der NVDI-Diskette befindet. Natürlich könnte man jetzt sagen, daß dieser Test "getürkt" sein könnte, aber da er auch genau beschreibt, wie und was er überprüft, und man somit das Ergebnis selbst nachprüfen kann, wollten wir nicht darauf verzichten. Hier kurz zusammengefaßt, was getestet wird:
v_gtext (7, 8, 39 und 40 Zeichen, Höhe 4, 6 und 13, Effekt 0)
v_gtext (20 Zeichen, Höhe 26, Effekt 0)
v_gtext (7, 8, 39 und 40 Zeichen, Höhe 4, 6 und 13, Effekt 1)
v_gtext (20 Zeichen, Höhe 13, Effekt 29)
v_justified (8+40 Zeichen, Höhe 13, Effekt 8)
v_pline (horizontal, vertikal und schräg)
vr_recfl (4820, 100100 und 638400 Punkte, Füllfarbe 0, Füllstil 0, Füllindex 0)
vr_recfl (4820, 100100 und 638400 Punkte, Füllfarbe 1, Füllstil 2, Füllindex 3)
vrt_cpyfm (100100 und 640200 Punkte, horizontal und vertikal verschoben, Quelle<Ziel)
vrt_cpyfm (640200 Punkte, horizontal und vertikal verschoben, Quelle>Ziel)
vro_cpyfm (100100 und 640200 Punkte, horizontal und vertikal verschoben, Quelle<Ziel)
vro_cpyfm (640200 Punkte, horizontal und vertikal verschoben, Quelle>Ziel)
Je 1000 Aufrufe von vst_height, vst_points, vst_color, vst_effects, vst_alignment, vsl_color, vsl_type, vsl_udsty, vsf_interior, vsf_style, vsf_color, vswr_mode, vql_attributes, vqf_attributes, vqt_attributes, vqt_extend, vqt_width, vqt_name, vqt_fontinfo, vqin_mode und vq_color
v_curtext (mit und ohne Scrolling)
Bconout (mit und ohne Scrolling)
Cconws (mit und ohne Scrolling)
Die Ergebnisse
TOS 1.4 NVDI | TOS 1.4 | TOS 1.4 Turbo ST | Atari TT | Atari TT NVDI | |
Textausgabe: | 182% | 781 % | 601 % | 404% | 2409% |
Linien: | 192% | 398% | 407% | 390% | 812% |
Rechtecke: | 518% | 768% | 792% | 498% | 1176% |
Polygone: | 113% | 208% | 173% | 352% | 742% |
Kreise/Ellipsen: | 104% | 346% | 119% | 435% | 1212% |
Rasteroperationen: | 726% | 795% | 725% | 455% | 881% |
Attributfunktionen: | 100% | 335% | 321 % | 195% | 961% |
Auskunftsfunktionen: | 100% | 280% | 239% | 213% | 829% |
Escape-Funktionen: | 124% | 196% | 212% | 272% | 571% |
BIOS-Ausgabe: | 118% | 201% | 228% | 234% | 434% |
GEMDOS-Ausgabe: | 111% | 631% | 731% | 222% | 1704% |
AES-Objekt-Ausgabe: | 132% | 295% | 308% | 256% | 688% |
Alle Messungen wurden, sofern möglich, mit eingeschaltetem Blitter durchgeführt.
Die Messungen auf dem Atari TT wurden alle in der hohen ST-Auflösung durchgeführt.