Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Schneller Timer (https://www.delphipraxis.net/65243-schneller-timer.html)

simonko 14. Mär 2006 09:15


Schneller Timer
 
Ich bräuchte einen Timer der ein Intervall hat das schneller als 1ms ist, weil meine Simulation ansonsten zu langsam läuft. kann mir jemand helfen?

MFG

Flare 14. Mär 2006 09:17

Re: Schneller Timer
 
Wenn du wüsstest wie schnell eine Millisekunde ist dann würdest du das nicht fragen. Unser auge kann nur alle 40ms ein neues Bild wahrnehmen, vielleicht ist einfach mal etwas anderes als der Timer zu langsam.


Mfg, Flare

simonko 14. Mär 2006 09:19

Re: Schneller Timer
 
Ja und was hat das mit den zu tun? Ich muss ja nicht das Bild immer sehen.

mquadrat 14. Mär 2006 09:21

Re: Schneller Timer
 
imho gibt es keinen Timer im Nanosekunden-Bereich. Wäre auch irgendwie sinnlos, da ich persönlich es noch nicht geschafft hab Code zu schreiben, der weniger als ne Millisekunde zum Laufen braucht.

Was führst du denn im Timer-Exec aus, dass es schneller als ne Millisekunde ist?

Flare 14. Mär 2006 09:23

Re: Schneller Timer
 
Keine Ahnung, ich dachte eine Simulation wäre etwas, was auch auch irgendwo sieht :oops:

Aber einen Timer der schneller ist als 1ms wirst du nicht gebrauchen, und wenn das doch so ist, soltlest du vielleicht mal deine Simulation etwas genauer darstellen.


Flare

simonko 14. Mär 2006 09:27

Re: Schneller Timer
 
TShapes die dass Form von oben nach unten durchwandert(hintereinander). Und wenn ich 20000 solche shapes habe brauch das viel zu lange. Ich kann die pixel die pro iteration nach unten gegangen werdn aus bestimmten gründen nicht zu viel erhöhren.
ich glaub nicht dass der pc 1 ms braucht um diese zwei anweisungen die ich drin stehen hab auszuführen.

simonko 14. Mär 2006 09:31

Re: Schneller Timer
 
ich werd den code am abend mal posten ich muss jetzt weck

mquadrat 14. Mär 2006 09:32

Re: Schneller Timer
 
Wenn all 20000 Shapes gleichzeitig sichtbar sind dauert das sehr wohl seine Zeit.

Reduzier die Zahl der Shapes, wenn es dann schneller wird dann ist dein Problem nicht der Timer.

marlem 14. Mär 2006 09:55

Re: Schneller Timer
 
habe mal irgendwo einen timer gesehen, als als eigener thread läuft!
vielleicht hilft das ja!

Daniel G 14. Mär 2006 09:57

Re: Schneller Timer
 
Zitat:

Zitat von marlem
habe mal irgendwo einen timer gesehen, als als eigener thread läuft!
vielleicht hilft das ja!

Wobei, wenn ich mich recht entsinne, 'nen Timer doch auch nen eigenen Thread erestellt, oder?

//Edit: Vielleicht versuchst du es mal mit OpenGL oder DirectX? Gerade für sowas wäre es effizienter.

Surrounder 14. Mär 2006 09:59

Re: Schneller Timer
 
schau dir mal folgendes an, das hat mir bei der Auswahl bzw. schreiben eines eigenen Timers geholfen

http://www.blubplayer.de/tutorials.html

marlem 14. Mär 2006 10:03

Re: Schneller Timer
 
@Daniel G
der delphi-timer meines wissens nach nicht!

simonko 14. Mär 2006 18:21

Re: Schneller Timer
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier wie versprochen der source code. es handelt sich dabei um ein galton brett. es funktioniert bislang nur wenn man 10 reihen auswählt. und 20 000 bälle sollten eben schneller nach unten laufen.

faux 14. Mär 2006 19:05

Re: Schneller Timer
 
Übrigens: Windows kann, soweit ich weiß, maximal alle 21ms den Timer ansprechen. Es gibt ja noch andere Programme auch. ;)
20000 Shapes? :shock:
Was hast du vor? Das müssen ja extrem winzige Shapes sein, dass man da jedes noch sehen kann.

Grüße
Faux

simonko 14. Mär 2006 19:24

Re: Schneller Timer
 
schwierig zu erklären. schau dir mal das programm an.

glkgereon 14. Mär 2006 19:29

Re: Schneller Timer
 
Egal was du Simulierst: 20000 Shapes???

Das ist der Falsche Weg. Egal was du wie simulierst.

eine ordentliche Simulation kommt zum anzeigen mit einer PaintBox aus (ok, wegen mir auch Image o.ä....)

zur anzeige Komponenten hin-und-herzuschieben ist nicht besonders performant.

berechne das ganze rein mathematisch, schreib das ganze in ne datenstruktur und mal dir aus der datenstruktur immer per hand dein bild. vielleicht minimal aufwendiger, aber um meilen besser.

turboPASCAL 14. Mär 2006 19:33

Re: Schneller Timer
 
Nein, Timer unter 1 ms gibt es nicht (jedenfalls als vordeffinierten).

Solch ein "normaler" Timer ist für ein normales Prg. also nicht Prof. Programm völlig ausreichend und genügend.

Wenn dein Prg. schneller laufen soll, lass den Timer weg und mach es in einer Schleife (While, For oder Repeat-Until).

Shapes und Panels zu verwenden ist denkbar ungünstig, da diese viel Rechenzeit ( für eine CPU ) verbrauchen. Benutze ein Bitmap und zeichne direkt darauf.

simonko 14. Mär 2006 19:42

Re: Schneller Timer
 
Keine Lust. Für den Zweck dass das programm bringen soll reicht es aus. vielleicht könnte man mehrere kugeln zugleich runterfallen lassn?

Flare 14. Mär 2006 19:43

Re: Schneller Timer
 
Du könntest vielleicht auch einfach, wenn es zu viele Bälle werden auch einfach nur bis zu 50 anzeigen und den Rest im Hintergrund berechnen lassen.


Flare


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:59 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