
                     W i n L u p e - faster than light
                    -----------------------------------
                      (inkl. Sourcen in Pure C & ASM)


                           Ein Programm von ...

                           Christian Grunenberg
                              Traminerweg  5
                             D-71717 Beilstein

                           Tel.: 07062 - 5287



Per E-Mail bin ich folgendermaen erreichbar:
Maus-Netz: Christian Grunenberg@S2
Usenet   : Christian_Grunenberg@S2.maus.de

In den Musen S2 und MTK liegen immer die neuesten Versionen der WinLupe.

WinLupe ist ein kleines Utility, welches nach dem Freeware-Prinzip verteilt
wird. Dies bedeutet, da jeder das Programm inkl. der Sourcen kopieren, be-
nutzen und weitergeben darf, auer es handelt sich um PD-Versender, denn diese
mssen sich bei mir eine schriftliche Genehmigung einholen. Eine kommerzielle
Verwendung der WinLupe ist allerdings untersagt bzw. muss mit mir abgesprochen
werden. Ebenso ist es verboten, vernderte Versionen der Sourcen bzw. unvoll-
stndige Archive zu verbreiten. Bei vorhandenen Fehlern sollte man sich statt-
dessen immer mit genauen Fehlermeldungen an mich wenden.

Fr das einwandfreie Funktionieren des Utilities oder eventuell entstehender
Schden bernehme ich keinerlei Garantie bzw. Verantwortung.

Sollte Ihnen das Programm dennoch gefallen oder Sie wollen die neueste
Version der WinLupe, so senden Sie mir einfach eine beliebige PD-Diskette
(als Anerkennung) und einen frankierten Rckumschlag (fr die neue Version)
zu.

Grundstzlich ist das Programm sauber programmiert. Es sollte also unter allen
TOS-Versionen und auf allen (MEGA) ST(-Book)/STE/TT/FALCON-Computern laufen,
da es keinerlei Annahmen bezglich des Bildschirmaufbaus macht, was bedeutet,
da es auch Grobildschirme, Grafikkarten und True-Color-Darstellung unter-
sttzt. Eventuell bzw. wahrscheinlich luft es somit auch unter ST-Emulatoren
fr MS-DOS und den Amiga.

WinLupe lt sich sowohl als Programm als auch als Accessory durch einfaches
Umbenennen starten. Die Funktionen des Programmes sollten eigentlich fr sich
sprechen bzw. sind in der integrierten Hilfe ausreichend erklrt worden.

Der Speicherbedarf des Programms wurde so niedrig wie mglich gehalten,
wobei jedoch auf die Geschwindigkeit der Vergrerung Rcksicht genommen
werden mute, so da das Programm ca. 8 Kb fr interne Tabellen bentigt.
Insgesamt bentigt die WinLupe im Grundzustand etwa 68 KB Speicher (inkl.
Programmcode/Daten). Ebenso braucht es zwei Bildschirmpuffer fr die
Vergrerung, sofern das Fenster geffnet ist. Dies sind auf einem ST max.
96 KB, auf einem TT max. 456KB und auf einem Falcon/030 bei max. Auflsung
ca. 2 MB. Aber ich glaube nicht, da jemand die WinLupe im Overscanned- &
Interlaced-True-Color-Modus (768*576*65536 Farben) startet, sofern das das
AES berhaupt ermglicht. Bei 640*480*256 Farben sind es dann 'nur' noch
912 KB.

Legt man Wert auf ein Maximum an Geschwindigkeit, sollte man die Optionen
'Fenster runden' und 'Mauszeiger mitvergrern' aktivieren und die 'Echt-
zeitschieber' deaktivieren. Ebenso sollte man eine der vorgegebenen Ver-
grerungen (2/4/8/16) whlen und die Vergrerungsfrequenz auf 100 Hz
stellen. Auch empfiehlt es sich, sofern der Grafikaufbau der Grafikkarte bzw.
des Computers bekannt ist, den Standard-, Pixelpacked- oder Interleaved-Modus
zu aktivieren, wobei Geschwindigkeitssteigerungen zwischen 150% und 3000%
gegenber der sauberen Vergrerung ber VDI-Transform erreichbar sind.
Dennoch (!) findet kein direkter Zugriff auf den Bildschirm statt.
Der Standard-Modus arbeitet in allen Auflsungen, bei denen der Bildschirm-
aufbau mit dem VDI-Standard-Format bereinstimmt, also z.B. ST- und TT-High.
Der Pixelpacked-Modus arbeitet auf denjenigen Grafikkarten, bei denen die
einzelnen Bits der Pixel nicht in Planes, sondern direkt hintereinander im
Speicher organisiert sind. Dies ist z.B. bei vielen Grafikkarten im
8/15/16/24/32-Bit-Modus der Fall, was einer Farbanzahl von je 256,32768,65536
oder 16.7 Millionen entspricht. Ebenso gibt es den Interleaved-Modus, der bei
einem Grafikaufbau, der denjenigem des ST/TT entspricht, funktioniert, d.h.
die Planes der Pixel liegen verschachtelt hintereinander im Speicher. Dies
funktioniert in allen ST- und TT-Auflsungen sowie in allen Falcon-Grafik-Modi
auer dem True-Color-Modus, bei dem in den Pixel-Packed-Modus geschaltet
werden mu.

Die Option 'Kompatibilitts-Modus' aktiviert den an sich notwendigen
wind_update()-Aufruf. Nur bei deaktivierter Option erfolgt auch bei aktiven
Dialogen, in der Menleiste oder beim Verschieben von Desktopelementen bzw.
Fenstern eine Vergrerung im Fenster. Dabei kann es zu Redraw-Fehlern kommen,
wenn sich das WinLupe-Fenster und ein Dialog/Men berlappen bzw. wenn ein
Fenster ber das WinLupe-Fenster geschoben wird.

Bei deaktivierter Option 'Mauszeiger an-/ausschalten' wird nur dann der
Mauszeiger korrekt an-/ausgeschaltet, wenn entweder die Echtzeitvergrerung
deaktiviert ist oder der Mauszeiger ber einem sichtbaren Teil des Fensters
steht. Dies verhindert in der Regel ein Flackern des Mauszeigers, kann aber in
uerst seltenen Fllen zu minimalen Redraw-Fehlern fhren, welche aber kurz-
fristig sind und nur an den Rndern von Fenstern auftreten knnen. Auerdem mu
man fr diesen Fall den Mauszeiger mit maximaler Geschwindigkeit ber den
Schirm bewegen, d.h. im normalen Anwendungsalltag kommt es zu keinerlei
Problemen.


WinLupe wurde mit Pure C 1.1 von Application Systems Heidelberg und meiner
eigenen, erweiterten Dialog-Library EnhancedGEM (vergleichbar mit FlyDials,
MagicDials,Ruby,XFormDo-Lib,Wega-DK,NeXT-GEM oder Let 'em fly) programmiert.


Hinweis : Die Infofiles der verschiedenen Versionen sind nicht kompatibel
          zueinander, d.h. es mssen bei jeder neuen Version die Einstellungen
          neu vorgenommen und danach ein Infofile erstellt werden.

          Wichtig :
          Benutzt man ein altes Infofile weiter, so kann es entweder zu
          einer Fehlermeldung oder Abstrzen kommen !!!


Geschwindigkeit der WinLupe : (alle Zeiten in ms)
=================================================

Die u.a. Zeiten wurden in der ST-High-Auflsung gemessen, wobei das
WinLupe-Fenster so gro wie der Bildschirm war und die Option 'Fenster
runden' ausgeschaltet war. Dies bedeutet, da die Zeiten die langsamsten
Anwendungsflle darstellen, denn die Geschwindigkeit der Zoomroutinen
kommt erst bei aktivierter 'Fenster runden'-Option zur Geltung. Auch
profitieren sie sehr stark von einem Blitter, wodurch bei optimal
eingestellten Parametern der WinLupe und vorhandenem Blitter die
Geschwindigkeit bis zu 3 mal so hoch ist wie in den unten angegebenen
Fllen. Bei einer Fenstergre von etwa einem Viertel des Bildschirms
sind Vergrerungsraten von ber 25 Hz auf einem ST ohne Blitter,
ber 35 Hz mit Blitter und ber 60 Hz auf einem MEGA/STE erreichbar.

Die WinLupe drfte auf einem TT in ST-Auflsungen etwa die zwei- bis
dreifache Geschwindigkeit des MEGA/STE erreichen. In TT-Auflsungen
wird etwa die gleiche Geschwindigkeit erreicht, da das zu vergrernde
Datenvolumen entsprechend grer ist.


Vergrerungsmodus : VDI-Transform
----------------------------------

Vergrerung |      ATARI ST     |   MEGA/STE&NVDI   |
-------------+-------------------+-------------------+
             |  Zoom   |   All   |  Zoom   |   All   |
-------------+---------+---------+---------+---------+
      2      |    50   |   325   |   30    |   110   |
      3      |    40   |   275   |   25    |    95   |
      4      |    30   |   265   |   20    |    85   |
      6      |    25   |   250   |   20    |    80   |
      8      |    20   |   240   |   15    |    75   |
     16      |    20   |   260   |   15    |    85   |


Vergrerungsmodus : Standard
----------------------------------

Vergrerung |      ATARI ST     |   MEGA/STE&NVDI   |
-------------+-------------------+-------------------+
             |  Zoom   |   All   |  Zoom   |   All   |
-------------+---------+---------+---------+---------+
      2      |    50   |   280   |   30    |    60   |
      3      |    40   |   230   |   25    |    55   |
      4      |    30   |   210   |   20    |    45   |
      6      |    25   |   205   |   20    |    45   |
      8      |    20   |   185   |   15    |    40   |
     16      |    20   |   190   |   15    |    40   |

Zoom -> eigentliche Vergrerungsroutine
All  -> kompletter Bildaufbau

Die Vergrerungszeiten des Interleaved-Modus sind etwas schlechter
als die des Standard-Modus, hingegen sind die des Pixel-Packed-Modus
meistens um einige Faktoren besser, wobei man allerdings bedenken
mu, da das Datenvolumen im Pixel-Packed-Modus um ein Vielfaches hher
ist als in monochromem Auflsungen.

Allgemein sind die optimierten Routinen ohne VDI-Transform besonders
dann sinnvoll, wenn weder ein Blitter oder Grafikprozessor noch NVDI
vorhanden sind. Ebenso hngt die Geschwindigkeit der Pixel-Packed-
Routinen stark von der Grafikkarte ab. Bei 2,4 oder 16 Farben sind die
Zeiten mit denen des Standard-Modus quivalent, bei mehr Farben sind
teilweise entschieden hhere Geschwindigkeiten mglich.

Hier einige Beispiele :
ST-High/TT-High (evtl. mit Overscan) : Standard
monochrome Grafikkarten              : Standard
ST/TT-Low/Mid   (evtl. mit Overscan) : Interleaved
Falcon-True-Color-Modus              : Pixel-Packed
Grafikkarten mit mind. 4 Farben      : Pixel-Packed


Ciao,
Criss ...


P.S: Falls jemand nicht wei, wofr er die WinLupe gebrauchen kann, hier
     ein paar Einsatzgebiete :
        - Programme,bei denen es auf exakte Mauspositionierung ankommt, also
          z.B. Grafik- und Zeichenprogramme, aber auch DTP
        - berprfung von eigenen Grafik- und Zeichenroutinen
        - Grafikprogramme, die keine eigene bzw. eine zu langsame
          oder unbrauchbare Lupenfunktion besitzen
        - genaues Betrachten von Grafiken/Icons,um diese fr eigene Ideen
          verwenden zu knnen

Und zum Schlu noch die blichen Gre und Danksagungen:

        - Eleni Avgetidou, der nettesten und huebschesten Frau in
          diesem den Spiralarm der Galaxis, fr ihre Einmaligkeit sowie
          der Tatsache, da sie mich fast mein Studium gekostet htte, und
          anderen Sachen, die hier (leider) nicht erwhnt werden knnen

        - Markus - meinem Bruder - fr seine hbschen Grafiken in den
          WinLupe-Dialogboxen, harter Kritik und Beta-Testing

        - Alvar Freude (Alvi Joy) und Peter Scheerer fr
          unermdliche Kritik, Beta-Testing und moralische Untersttzung

        - Achim Wilhelm fr die Beta-Tests auf einem Falcon/030

        - Frauke Cremer (Sysopine) fr ihre (manchmal) funktionierende
          Quark in Heilbronn

        - Gun's Roses,Metallica,AC/DC,Queen,U2,Judas Priest,Warlock
          und Bon Jovi sowie vielen anderen fr die gute Musik

        - und alle, die meinen, sie htten hier Erwhnung finden
          sollen
