Autor Beitrag
bs-Hobbit
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

Windows Xp (Home/Prof.), Windows Server 2003, Linux
D7,D2005
BeitragVerfasst: Fr 17.02.06 22:41 
Hi,

ich habe folgendes Problem,... ich habe ein zwei Dimensionales Array... Deklaration wie folgt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
const
  CAnzZeilen = 500;
  CAnzSpalten = 500;

type
  TZeilen = 0..CAnzZeilen-1;
  TSpalten = 0..CAnzSpalten-1;

  TMAPINFO =  RECORD
                Ebene1:String;
                Ebene2:String;
                Ebene3:String;
              END;
              
  TMAP = Array[TSpalten,TZeilen] OF TMAPINFO;


In den Ebenen steht der Pfad zu einer Bitmap Datei

Also habe ich ein 500*500 Array, zu jedem Feld auf dem Array gibt es drei 32x32 Bilder
Auf der Späteren Map soll ein Feld von ca 15x15 zu sehen sein.

Und nach bestimmten aktion soll die map neugezeichnet werden (z.B.: Nach Links ,Rechts , Oben oder Unten gehen)

Also wird die map recht häufig neu gezeichnet.

Nun zu meinen Fragen^^

Welche Komponente soll ich verwenden ?
Wie kann ich Flimmern verhindern ?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 17.02.06 22:47 
Flimmern: DoubleBuffered:=true; (ins OnCreate)
Flüssiger Zeichnen vielleicht mit Scanline, Komponente klappt glaub TImage oder TPaintBox...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
bs-Hobbit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

Windows Xp (Home/Prof.), Windows Server 2003, Linux
D7,D2005
BeitragVerfasst: Fr 17.02.06 22:52 
Weder TImage noch TPaintbox besitzen DoubleBuffered ;)

Oder meinst du die Ganze Form ?

Was genau macht Doublebuffered denn ?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 17.02.06 22:55 
Nun. Ich sagte nicht aTImage.DoubleBuffered. einfach
DoubleBuffered:=true; ins onCreate Ereignis.
Was es macht? Gute Frage. Es verdoppelt den Puffer, schätz ich mal... :/
Also wenn ichs recht verstehe hast du mehr Zwischenspeicher oder sowas zur Verfügung, keine ahnung, jedenfalls Flimmerts dann nich mehr, das kann ich dir versichern ^^

Doppelpost, wie auch immer, keine ahnung -.-

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 17.02.06 22:58 
Die Hilfe, das unbekannte Feature ;-)
Delphi-Hilfe:
Hat DoubleBuffered den Wert false, wird das fensterorientierte Steuerelement direkt in das Fenster gezeichnet. Ist DoubleBuffered true, zeichnet sich das fensterorientierte Steuerelement in ein Speicher-Bitmap, das dann zum Zeichnen des Fensters verwendet wird. Durch die Doppelpufferung tritt weniger Flimmern beim Neuzeichnen des Steuerelements auf. Auf der anderen Seite wird jedoch mehr Speicher benötigt.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
bs-Hobbit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

Windows Xp (Home/Prof.), Windows Server 2003, Linux
D7,D2005
BeitragVerfasst: Fr 17.02.06 22:58 
Ok, das werde ich mal versuchen...

Ich hark das Thema denn mal ab^^ ist ja beantwortet :P

Danke für die schnelle hilfe
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 17.02.06 22:58 
Juhu! "Mehr Speicher", ich hatte also Teil-Recht!

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.