Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Threads: optimale Nutzen/Prozessorleistung-Optimierung (https://www.delphipraxis.net/43190-threads-optimale-nutzen-prozessorleistung-optimierung.html)

SirThornberry 30. Mär 2005 22:21

Re: Threads: optimale Nutzen/Prozessorleistung-Optimierung
 
dann zähl doch einfach wieviel frames du auf dem entsprechenden rechner schaffst und passe somit die parameter von sleep dynamich an bzw. lasse sleep aus

Thorus 30. Mär 2005 22:32

Re: Threads: optimale Nutzen/Prozessorleistung-Optimierung
 
Zitat:

QueryPerformanceCounter
IMHO die beste Lösung wenn es wirklich exakt sein muss (--> bei einem Spiel).
das ist doch nur ein Taktgeber, wenn ich mich nicht verguckt habe? Ein Takgeber habe ich doch einen genauen.

Zitat:

dort ging es aber meines Wissens um den Timer der per Window-Message gefeuert wird.
bei dem waitable Timer kannst Du in einem separaten Thread per WaitForSingleObject auf die Fälligkeit warten. Ist auf jeden Fall feiner als ein Sleep(), zudem wird das Problem von den unterschiedlichen Abarbeitungszeiten auf verschieden schnellen Rechnern gelöst. Gleichzeitig wird jedoch nicht mehr 100% CPU-load generiert...
Weiß nicht, wie das damit gehen soll. Mit APIs tue ich mich immer schwer und wüsste auch nicht, wie ich das überhaupt hinbekommen soll. Falls es irgendwo eine Teil-Lösung gibt, wäre es nicht schlecht.

@robert_g
aja, jetzt erinner ich mich auch wieder. Sleep sollte man wohl lieber komplett vergessen. *g*

Zitat:

dann zähl doch einfach wieviel frames du auf dem entsprechenden rechner schaffst und passe somit die parameter von sleep dynamich an bzw. lasse sleep
Das geht ja irgendwie nicht. Die Frames-Anzahlen schwanken doch bei jedem Spiele dauernd, wenn sie nicht am eingestellen Maximum sind. Je Nach Animationsaufwand. Desweiteren lass einen anderen Thread von Windows sich auf einmal starten oder sonst irgendwas, was der User im Hintergrund laufen lässt und schwups, verändert sich das alles.

Scheint wohl doch n schwierigeres Problem zu sein :(

Christian Seehase 30. Mär 2005 22:38

Re: Threads: optimale Nutzen/Prozessorleistung-Optimierung
 
Moin Thorus,

mir fallen da noch ein paar Stichworte ein:
MSDN-Library durchsuchenSetThreadPriority, MSDN-Library durchsuchenSetPriorityClass (mit Vorsicht zu geniessen, wenn Du auf REALTIME stellst ;-)) ausserdem könntest Du Dir mal die [msdn]"Multimedia Timers"[/msdn] anschauen.
Letztere sollen die höchste Auflösung und Genauigkeit haben.

Thorus 31. Mär 2005 00:14

Re: Threads: optimale Nutzen/Prozessorleistung-Optimierung
 
Selbst mit ThreadPriority Idle ist CPU-Auslastung 100%, weil es ja, wenn kein anderer Prozess weiter da ist, dann ja auch voll ausgeführt wird.

Multimedia Timer sieht kompliziert aus :(

Ich glaub, dann lass ich das lieber erstmal so und lass den Prozessor viel unnötige Arbeit tun. (Solange ich da nicht arbeiten muss *g*)

Luckie 31. Mär 2005 12:23

Re: Threads: optimale Nutzen/Prozessorleistung-Optimierung
 
Und wenn es nur ab Windows 2000 laufen muss: MSDN-Library durchsuchenCreateTimerQueueTimer.

Thorus 1. Apr 2005 12:25

Re: Threads: optimale Nutzen/Prozessorleistung-Optimierung
 
http://www.delphipraxis.net/internal...ct.php?t=30870

letzer Post:
Zitat:

Entweder dort herunterladen oder warten bis wir das SourceForge-Projekt fertig haben. Wir stricken gerade fleissig dran.
Ist das für Delphi schon fertig? Oder war das auf den CBuilder bezogen?

erster Post:
Zitat:

In einem Demo-Projekt hab eich sie getestet und es funktioniert.
Ist das Demo-Programm zufällig irgendwo verfügbar? Habe leider kaum Ahnung, was diese Parameter alles bedeuten und ob ich sie dann auch richtig benutze.
Bei MSDN sind die Paramter irgendwie anders.

Luckie 1. Apr 2005 12:47

Re: Threads: optimale Nutzen/Prozessorleistung-Optimierung
 
Das hat mit meiner Unit nichts zu tun.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.
Seite 3 von 3     123   

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