Entwickler-Ecke
Multimedia / Grafik - Schnelleres Kartenerstellen mit DelphiX
Elayla - Mi 11.06.03 19:18
Titel: Schnelleres Kartenerstellen mit DelphiX
Gibt es ne schnellere bzw. günstigere Methode mit DelphiX ne Karte aufzubauen?
Bisher hab ich ne Karte mit 16x12 Feldern zu je 40x40 px die pausenlos aktualisiert wird.
Aber beim scrollen, also wenn neue Felder hinzukommen und nicht mehr benötigte verschwinden ruckelt es doch bisschen und das stört etwas.
Kann man die Bilder aus einer schnelleren Quelle auslesen, also nicht über Image1.List oder sollte man die Felder kleiner/größer machen oder ein anderes Bildformat?
umpani - Mi 11.06.03 21:43
hmm,
du hast doch die Vorlage verwendet, die ich Dir gegeben habe.
Bei mir ruckelt da nichts. Selbst auf meinem Alten Labtop mit ner Ati Rage LT Mobile Grafikkarte ist alles so weit flüssig.
Abgesehen davon ist die imagelist Komponente sehr schnell, da die Bilder direkt aus dem Speicher geladen werden.
Elayla - Mi 11.06.03 22:28
Naja ruckeln kann man so nicht sagen, aber ich finds nicht so super flüssig, kann aber auch täuschen ... fakt ist, ich fang mit OpenGL an *gg*
mimi - Mo 16.06.03 20:29
du darfas beim zeichnen nur den bereich zeichnen denn du auch siehst und wenn du ein 2D array verwendet der 1000 X 1000 groß ist, dann wirst du das so richtig spüren:)
Elayla - Mo 16.06.03 20:32
Hehe jo das is klar das ich nicht alles zeichnen darf ^^
Ich weis jetzt auch warum es bei mir ruckelte, meine GraKa-Treiber waren defekt, jetzt gehts super :)
mimi - Mo 16.06.03 20:43
gibt mal den einen auszug aus deiner zeichen funktion....
Elayla - Mo 16.06.03 20:54
Das ist meine ganze Zeichenprozedur, das Kartenerstellen und das ganze Zeugs is extra :wink:
| Zitat: |
procedure tform1.mapdraw;
var x,y:integer;
begin
for x := standx to standx+16 do
for y := standy to standy+12 do
begin
ImageList1.Items[map[x,y]].Draw(dxdraw1.Surface,(x-standx)*40-detailx,(y-standy)*40-detaily,0);
end;
Bauen;
dxdraw1.Flip;
end; |
mimi - Mo 16.06.03 21:00
und was steht in der func "Bauen" drin ?
mach mal folgendes:
unterteile mal die zeichen funktion undzwar misst du die zeit. GetTickCount heißt glaube ich der befel.
und so weißt du dann was am länsgten dauert.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!