Tips & Tricks
Grafik:
Tip 1 | Will man schnelle Grafiken, flüssig über den Bildschirm huschen lassen, sollte man unbedingt auf den Strahlrücklauf des Monitors warten und erst dann mit zeichnen beginnen. (Beispieldatei: TIP_01.BAS, 2097 Byte) |
Tip 2 | Um dann die Pixel schnellstmöglich auf den Screen zu bekommen, nimmt man am besten den POKE-Befehl anstelle einer PSET-Anweisung. Denn einen POKE-Befehl kennt die MASCHINEN-Sprache bereits (ein PSET muß erst übersetzt werden). (Beispieldatei: TIP_02.BAS, 1428 Byte) |
Tip 3 | Sind dabei größere Grafiken zu bewegen, benutzt man dann doch lieber die PUT-Anweisung statt die PIXEL einzeln zu poken. (Beispieldatei: TIP_03.BAS, 2759 Byte) |
Tip 4 | Die PUT-Anweisung hat neben der Geschwindigkeit auch noch einen Vorteil. Sie kann mit einem Trick auch transparente Grafik darstellen. Hierfür benötigt man jedoch eine Negativmaske des Originalbildes. (Beispieldatei: TIP_04.BAS, 4043 Byte) |
Tip 5 | Ein gut aussehender Effekt für eine Grafik, ist das Spiel mit den Farben. Der PALETTE-Befehl ist jedoch sehr langsam und kompliziert. Besser ist der Umgang mit den ROT-GRUEN-BLAU Werten (RGB) der einzelnen Farben. (Beispieldatei: TIP_05.BAS, 3538 Byte) |
Effekt 1 | Schneefall (Beispieldatei: EFFEKT_1.BAS, 3035 Byte) |
Effekt 2 | Laufschrift (Beispieldatei: EFFEKT_2.BAS, 1889 Byte) |
Keyboard:
Tip 6 | Der INKEY$-Befehl für eine Tastaturabfrage ist bei einigen Programmen viel zu langsam. Um der Tastatur gehörig "BEINE" zu machen, muß man sie schon direkt abfragen und dabei BIOS und Betriebssystem umgehen. Die INP-Funktion ist der schnellste Weg an die Taste zu gelangen. (Beispieldatei: TIP_06.BAS, 4443 Byte) |
Tip 7 | Bei der Abfrage der CURSOR-Tasten eines Laptop, bekommt man bei eingeschaltenen NUM-LOCK leider falsche Werte. Um den Tastaturstatus zu ändern oder abzufragen, bedient man sich eines kleinen Tricks.(Beispieldatei: TIP_07.BAS, 2387 Byte) |
Mathematik: Wie beschleunige ich mathematische Berechnungen ?
Am schnellsten lassen sich natürlich kleine Werte berechnen.
Verwende nach Möglichkeit den kleinsten Numerischen Typ für die Variable.
Also:
Besser Ganzzahlen (Variable%) als
Lange Ganzzahlen
(Variable&)
Besser Lange Ganzzahlen (Variable&) als
Einfache Genauigkeit
(Variable!)
Besser Einfache Genauigkeit (Variable!) als
Doppelte Genauigkeit
(Variable#)
Auch wenn sonst "PUNKT vor
STRICH" geht, bei der Programmierung ist es genau umgekehrt.
Also:
Besser A + A als
A * 2
und
A
* A als A
^ 2
Eine DIVISION von INTEGER-Variablen geht schneller mit
"A \ B" als mit
"INT(A / B)"
Gerade oder Ungerade ?
Benutzt man die Frage "IF X AND 1 = 1 THEN
Ungerade", oder "IF X MOD 2 = 1 THEN
Ungerade"
so erhält man das Ergebniss schneller als mit "IF
INT(X / 2) <> (X / 2) THEN Ungerade".
Der Austausch zweier Variableninhalte geht schneller mit
"SWAP A, B", als über
eine 3.Variable wie unser Beispiel zeigt: "C
= A : A = B : B = C"
Timing:
Tip 8 | Timer mit Genauigkeit von 1 / 70'stel Sekunde (Beispieldatei: TIP_08.BAS, 554 Byte) |
Tip 9 | Timer mit Genauigkeit von 1 / 19'tel Sekunde (Beispieldatei: TIP_09.BAS, 608 Byte) |
Tip 10 | East-Power-Soft-Benchmark-Timer, läuft auf allen Rechnern gleich schnell. (Beispieldatei: TIP_10.BAS, 1622 Byte) |
Noch ein paar allgemeine Tips:
Der wichtigste Tip ist: Legt euch das Buch "DATA Becker's PC-Intern" zu. Es ist sozusagen "der heilige Gral" für jeden Programmierer. Hier erfahrt ihr alles über Hard- und Software (aufrufen von BIOS oder DOS-API Funktionen) und wie man beides unter einen Hut bekommt.
Um die Tastaturdynamik der Geschwindigkeit eines professionellen Programmierers anzupassen, empfehlen wir, die Tastaturgeschwindigkeit zu erhöhen. Dies geschieht mit dem MODE Befehl unter DOS bzw. aus Basic heraus über die SHELL-Anweisung. Unsere Vorgabe: MODE CON:RATE=27 DELAY=1 setzt die Wartezeit bis zum Repetieren auf Minimum und die Wiederholrate auf 27 Zeichen pro Sekunde.
Abschließend noch gutes gelingen, eine virenfreie Platte und immer genügend RAM on Board. Und wenn Ihr gute Tools, Programme oder auch nur Ideen habt - immer her damit. Have a nice Day - East-Power-Soft, Januar 2000