Autor Beitrag
myukew
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 24.01.05 15:54 
wenn man mit canvas (aufwändigere,) animierte graphik macht kommt es unweigerlich zu flimmern bei löschen und neu zeichnen des objekts. gibt es einen weg das loszuwerden?
ScorpionKing
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1150

Win XP

BeitragVerfasst: Mo 24.01.05 15:56 
ja, du könntest probieren manche routinen mit assembler zu schreiben, vielleicht gibt es auch eine bessere image-komponente, aber probier ersteres mal!

MfG, Scorpion!

_________________
Aus dem Urlaub zurück!
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 24.01.05 16:01 
2 Möglichkeiten:

1.) DoubleBuffering
2.) Über GDI programmieren

AXMD
myukew Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 24.01.05 16:06 
wie funktioniert double buffering (ich weiß was es is, ich habs ma mit qbasic gemacht)?

tja assembler, sowas müsste man lernen... immer wieder sind die lösungen assemblersnippets...
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 24.01.05 16:45 
Schreib doch einfach mal in deine OnCreate-Routine deines Formulars
ausblenden Delphi-Quelltext
1:
doublebuffered := true;					

Wenn dein Image auf nem Panel o.Ä. ist, musst du eben Panel1.Doublebuffered := true schreiben.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 24.01.05 17:11 
Direkte GDI-Ausgaben auf dem Canvas sind immer langsam. Mach es über ein Bitmap im Speicher, auf das du zeichnes und bei Bedafr auf den Canvas kopierst.
ScorpionKing
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1150

Win XP

BeitragVerfasst: Mo 24.01.05 20:03 
Luckie hat folgendes geschrieben:
Direkte GDI-Ausgaben auf dem Canvas sind immer langsam. Mach es über ein Bitmap im Speicher, auf das du zeichnes und bei Bedafr auf den Canvas kopierst.


beim besten willen, icg glaube nicht, dass das myukew kann!

aber eine idee wäre es!

_________________
Aus dem Urlaub zurück!
DaRkFiRe
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Mo 24.01.05 20:14 
@Luckie: Das ist in der Tat die schnellste Methode! Ist quasi eigenes Double-Buffering...

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mo 24.01.05 20:34 
ScorpionKing hat folgendes geschrieben:
beim besten willen, icg glaube nicht, dass das myukew kann!
Und jemand, der Assembler für sowas empfiehlt, kann es dann?
Die Zeichenroutinen sind identisch, denn das Bitmap hat auch nur einen Canvas. Und das Kopieren des Bitmaps auf den Ziel-Canvas mit Draw() oder BitBlt() ist ja nun wirklich trivial und hundertfach im Forum zu Suche in: Delphi-Forum, Delphi-Library FINDEN

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
ScorpionKing
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1150

Win XP

BeitragVerfasst: Mo 24.01.05 20:36 
tommie-lie hat folgendes geschrieben:
ScorpionKing hat folgendes geschrieben:
beim besten willen, icg glaube nicht, dass das myukew kann!
Und jemand, der Assembler für sowas empfiehlt, kann es dann?
Die Zeichenroutinen sind identisch, denn das Bitmap hat auch nur einen Canvas. Und das Kopieren des Bitmaps auf den Ziel-Canvas mit Draw() oder BitBlt() ist ja nun wirklich trivial und hundertfach im Forum zu Suche in: Delphi-Forum, Delphi-Library FINDEN


ok, ich gebe zu: guter einwand.

stimmt, daran hatte ich noch gar nicht gedacht.

_________________
Aus dem Urlaub zurück!
DaRkFiRe
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Mo 24.01.05 20:58 
Anmerkung: natürlich sind die Routinen identisch, nur jedes Mal, wenn der Canvas verändert wird, muss er in den Gerätekontext des jeweiligen Controls geschrieben werden und das verursacht auf Dauer das Flimmern.

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
myukew Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 01.02.05 16:34 
ok, mach langer zeit hab ichs mal wieder ins forum hier geschafft :oops:

gut... in ein bitmap zeichnen. an sowas hatte ich auch schon gedacht... wenn die routinen identisch sind isses ja in der tat nich so schiwierig! ich werd mir das also mal in der hilfe ankucken und bei fragen eifach noch ma hier was posten.

danke auf jeden fall erstmal