Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas (https://www.delphipraxis.net/77580-100-cpu-auslastung-beim-zeichnen-auf-painbox-canvas.html)

holle 21. Sep 2006 13:12


100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi, ich habe ein großen Problem. Ich habe eine Ampelkreuzung erstellt mit einer Grafik als Hintergrund auf die ich die verschiedenen Autos alle 10 ms zeichne. Das ganze ist allerdings so aufwendig, dass es meinen PC (2 GHz, 256 MB) vollkommen auslastet. Was kann ich tun, um den Rechenaufwand zu verringern? (Ich habe das Programm angehangen.)

mfg holle

vlees91 21. Sep 2006 13:29

Re: 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
Kann es sein, dass bei sowas die Prozessorauslastung immer sehr hoch ist, denn bei eigenen Projekten hatte ich das Problem auch

Der_Unwissende 21. Sep 2006 13:33

Re: 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
HI,
wie wäre es denn einfach damit seltener zu zeichnen. Alle 10 ms sind immerhin 100 Hertz, die erreichen ja schonmal alle Flachbildschirme (häufig bei 60 Hz) gar nicht. Das Auge kann da auch nicht mithalten, ist also eh nicht sehr sinnvoll.
Da solltest du es mal mit deutlich höheren Intervalen versuchen. Wenn es zu sehr ruckelt, dann liegt das eher an der Art zu zeichnen, da lohnt sich dann dir Forensuche nach zeichenroutinen und -bibliotheken (wie die Grafics32 und GDI+), die können dass dann eigentlich recht schön und schnell.

Gruß Der Unwissende

uwewo 21. Sep 2006 13:37

Re: 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
Hi,

warum verwendest Du kein Array für Dein TFahrzeug

Delphi-Quellcode:
  Fahrzeug : Array [1..12] of TFahrzeug;
das macht Deinen Code doch viel übersichtlicher.

Desweiteren könntest Du doch auch 3 Grafiken der Ampeln erstellen Rot, Grün, Gelb die man
doch je nach Zustand laden könnte, dann muß nich soviel gezeichnet werden.

holle 21. Sep 2006 13:42

Re: 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
danke für die antworten

ich werde versuchen das intervall zu vergrößern, ich hoffe es fängt dann nicht an zu ruckeln.

mit dem array werde ich das mal probieren (hatte ich auch schon dran gedacht)

Zitat:

Zitat von uwewo
Desweiteren könntest Du doch auch 3 Grafiken der Ampeln erstellen Rot, Grün, Gelb die man
doch je nach Zustand laden könnte, dann muß nich soviel gezeichnet werden.

die ampeln werden ja nicht gezeichnet, das sind shapes...

mfg holle

vlees91 21. Sep 2006 13:51

Re: 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
20hertz sind auch genug

uwewo 21. Sep 2006 13:55

Re: 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
Zitat:

Zitat von holle
die ampeln werden ja nicht gezeichnet, das sind shapes...

Schon klar aber jede Ampel besteht aus mehreren Shapes, immer anderen Fall hast Du
3 Bilder im Speicher die Du an die gewünschten Stellen kopierst.

Gandalfus 21. Sep 2006 18:05

Re: 100% CPU-Auslastung beim Zeichnen auf PainBox.Canvas
 
Zitat:

Wenn es zu sehr ruckelt, dann liegt das eher an der Art zu zeichnen, da lohnt sich dann dir Forensuche nach zeichenroutinen und -bibliotheken (wie die Grafics32 und GDI+), die können dass dann eigentlich recht schön und schnell.
gdi+ ist nur ein wrapper klasse für die GDI. Also nicht schneller.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz