Unter FP für Windows läuft der Code nicht.Jole hat geschrieben:Du vergisst aber das FP nicht mehr direkt in den VRAM schreibt, DirectVideo existiert, soweit ich weiß, nur noch aus Kompatibilitätsgründen. Der gleiche Test mit TP ergibt erst dann eine zeit Differenz wenn DirectVideo auf False gesetzt wird.
Und wenn du seinen Post genauer gelesen hättest, hättest du gelesen das er für den 8086 ist.
'Windows ist murks. Es arbeitet nur relativ zu 'Write' und den übrigen. Die Standardeinstellung von Window sind die der Auflösung. Fällt dir das was ein?Jole hat geschrieben:Dafür bietet sich die Prozedur WINDOW an.

1. Weil ich den Code nicht aufpumpen wollte.Jole hat geschrieben:Ich persönlich kämme nie wieder auf die Idee Fenster, MsgBoxen u.ä. mit Write/WriteLn oder eigenen VRAM Prozeduren zu zeichnen.
2. Weil ich was eigenes haben wollte und immer noch will.
1. Siehe oben.Jole hat geschrieben:Warum nicht das nutzen was bereits vorhanden ist?
2. Es wesentlich komplizierter ist als mit Visual Basic für DOS, Delphi oder Lazarus zu machen.
Das habe ich jetzt vor. Denn die Arbeit an der MessageBox ist zu einem eigenen Projekt ausgeartet.
Ich wollte dann die MessageBox nutzen, aber leider (wie gesagt) ist es kompliziert.
Einfach die Unit einbinden und die Funktion aufrufen geht nicht.
@Mathias
Ich habe mal ein kleines bisschen deinen Test-Quellcode angepasst, so das die Aussagen mir was sagen, das es auch unter TP funktioniert und ein paar kosmetische Veränderungen.
Ich habe den Durchlauf auf 1 Million .erhöht.
Da ich immer zwischen TP und FP geändert habe, ist mir was aufgefallen.
Wenn ich für die Schleife den Datentyp von 'Integer' zu 'LongInt' ändere, braucht 'Write' ja ewig bis es durch ist, bei dem VRAM-Durchlauf geht es dann schneller.
Mein Interrupt-Test funktioniert leider unter FP nicht. Ich habe auf 'ShortString' und '{$ASMMODE INTEL}' geachtet.
Aber unter TP ist er langsamer als Write.