Und sobald die Main-App da ist wird ein Timer gestartet, dieser baut erst mal die Datenbankverbindung auf
Mit einem Timer ?
Oder lässt du den Splash mit dem Timer laufen ?
Und sobald die Main-App da ist wird ein Timer gestartet, dieser baut erst mal die Datenbankverbindung auf
Mathias hat geschrieben:Nur die ASM/Intel Direktive geht beim Raspi natürlich nicht, das ist ja ein ARM. Ich habe diese Zeile einfach auskommentiert.
Damit konnte ich das Bitschieben beschleunigen, aber wie du schon sagst, nicht auf ARM.
Bei Intel gibt es den Rol und Ror Befehl, dieser ist fast gleich wie Shl und Shr, der Unterschied, das die Bits wie in einem Ring geschoben werden.
Dazu muss folgendes ersetzt werden.Code: Alles auswählen
asm rol bit, 1 end;
// bit := (bit shl 1) or (bit shr 7);
Code: Alles auswählen
if rev then begin
bit := RolByte(bit);
// bit := bit shl 1;
if bit = 0 then begin
// bit := 1;
Inc(pz);
end;
end else begin
bit := RorByte(bit);
// bit := bit shr 1;
if bit = 0 then begin
// bit := 128;
Inc(pz);
end;
end;
Code: Alles auswählen
for i := 0 to 999 do begin // Als Test
with Image1.Picture.Bitmap do begin
for y := 0 to Height - 1 do begin
CopyLine(y);
end;
end;
end;
Schön dass man Assembler Befehle auch direkt als Funktion nutzen kann
Aber "IF bit = 0 Then ..." muss dann anders heißen, sonst stimmt das Ergebnis von Deinem Test nicht.
Code: Alles auswählen
if rev then begin
bit := RolByte(bit);
// bit := bit shl 1;
if bit = 1 then begin
// bit := 1;
Inc(pz);
end;
end else begin
bit := RorByte(bit);
// bit := bit shr 1;
if bit = 128 then begin
// bit := 128;
Inc(pz);
end;
end;