Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Thread auf mehrere Core verteilen (https://www.delphipraxis.net/176642-thread-auf-mehrere-core-verteilen.html)

EWeiss 18. Sep 2013 19:49

AW: Thread auf mehrere Core verteilen
 
Zitat:

Zitat von jfheins (Beitrag 1229008)
Dazu müsste man jetzt erstmal wissen, wo genau die Zeit verbraucht wird - also am besten einen Profiler hernehmen.

Zum Beispiel ließen sich die 0..511 Schleifen am Anfang einfach parallelisieren, aber das ist vermutlich fruchtlos weil die eh nicht lange dauern.

Die meiste power nimmt das rendern in der externen DLL(Plugin) in Anspruch..
Denke mal das ich da nicht viel machen kann.
Na ja dann müssen sich die User mit den verfügbaren Einstellungen begnügen und diese so anpassen
das ihr system das Rendern in erträglichen Ausmaß verkraften.

gruss

Whookie 19. Sep 2013 17:51

AW: Thread auf mehrere Core verteilen
 
Vielleicht verstehe ich das Problem nicht ganz richtig, aber wenn die Auslastung nur durch ständig wiederholtes Zeichnen entsteht (so etwas wie eine Live-Anzeige einer FFT eines Audiospektrums), dann könnte man auch einfach die Ausgabe "seltener" durchführen (also das Rendern nur alle 40ms bis 60ms aufrufen).

EWeiss 19. Sep 2013 17:55

AW: Thread auf mehrere Core verteilen
 
Zitat:

Zitat von Whookie (Beitrag 1229140)
Vielleicht verstehe ich das Problem nicht ganz richtig, aber wenn die Auslastung nur durch ständig wiederholtes Zeichnen entsteht (so etwas wie eine Live-Anzeige einer FFT eines Audiospektrums), dann könnte man auch einfach die Ausgabe "seltener" durchführen (also das Rendern nur alle 40ms bis 60ms aufrufen).

Auf keinen fall ;)
Schließlich will ich nicht mit 10 FPS rendern sondern in Realzeit.
Die Live Anzeige wie du es nennst würde dann nicht synchron (Beat) zur Musik laufen.

gruss

OlafSt 19. Sep 2013 18:14

AW: Thread auf mehrere Core verteilen
 
Wenn die Anzeige 10x die Sekunde neu gezeichnet wird, dann ist das schon verdammt nah dran. Und das ist ein Neuzeichnen alle 100ms. Ich denke, 20fps würden mehr als dicke reichen, das sind 50ms zwischen den Redraws.

EWeiss 19. Sep 2013 18:24

AW: Thread auf mehrere Core verteilen
 
Zitat:

Zitat von OlafSt (Beitrag 1229146)
Wenn die Anzeige 10x die Sekunde neu gezeichnet wird, dann ist das schon verdammt nah dran. Und das ist ein Neuzeichnen alle 100ms. Ich denke, 20fps würden mehr als dicke reichen, das sind 50ms zwischen den Redraws.

Nö das reicht nicht bedenke um so höher die Auflösung desto geringer die FPS..
Das mag bei einer Auflösung von 320x240 gehen aber nicht bei 1920x1200 oder drüber
Es bringt mir nichts wenn ich auf grund irgendwelcher einsparungen letztendlich mit dem Beat hinterher hinke..
Alles schon versucht.

gruss

Namenloser 19. Sep 2013 19:23

AW: Thread auf mehrere Core verteilen
 
Was genau zeichnest du da eigentlich und wie? Wenn du es mit DirectX oder OpenGL machst, sollte die Auflösung doch fast keine Rolle spielen...

EWeiss 19. Sep 2013 19:34

AW: Thread auf mehrere Core verteilen
 
Zitat:

Zitat von NamenLozer (Beitrag 1229158)
Was genau zeichnest du da eigentlich und wie? Wenn du es mit DirectX oder OpenGL machst, sollte die Auflösung doch fast keine Rolle spielen...

Mit was man zeichnet spielt keine rolle bei beiden DX und OGL ändert sich die FPS abhängig von der Fenster größe.

Siehst du doch bei spielen wenn man hier die Auflösung ändert.
Aber wie im Beitrag schon geschrieben geht es mir nicht um die FPS sondern darum
das ein Core mit Volllast fährt obwohl die CPU ansich nicht ausgelastet ist.

Arbeite dran ;)

gruss

Namenloser 19. Sep 2013 20:03

AW: Thread auf mehrere Core verteilen
 
Zitat:

Zitat von EWeiss (Beitrag 1229163)
Zitat:

Zitat von NamenLozer (Beitrag 1229158)
Was genau zeichnest du da eigentlich und wie? Wenn du es mit DirectX oder OpenGL machst, sollte die Auflösung doch fast keine Rolle spielen...

Mit was man zeichnet spielt keine rolle bei beiden DX und OGL ändert sich die FPS abhängig von der Fenster größe.

Siehst du doch bei spielen wenn man hier die Auflösung ändert.

Aber nur bei graphisch sehr aufwändigen Spielen, ansonsten sind meist mehr FPS möglich als der Bildschirm darstellen kann. Dass das Rendern deines wie auch immer aussehenden Frequenzhistograms so aufwändig ist, dass es (auf der GPU) länger dauert als die FFT (auf der CPU), kann ich mir irgendwie kaum vorstellen, es sei denn, da ist irgendwas sehr ineffizient gelöst. Aber es ist halt schwer zu sagen, wenn man so wenig konkretes weiß. Wenigstens ein Screenshot um mal grob einen Eindruck zu bekommen, worum es eigentlich geht, wäre hilfreich...

Falls wirklich das Rendern auf der GPU der Flaschenhals ist, bringt dir jedenfalls auch Multithreading nichts.

EWeiss 19. Sep 2013 20:22

AW: Thread auf mehrere Core verteilen
 
Die GPU hat gerade mal 9% (vom gesamten System natürlich) die probleme macht die CPU ein Kern!

Weiss nicht was dir ein Bild jetzt sagt habe es aber mal angehängt.
Habe es in einem Archiv gepackt weil es sonst hier im Forum verkleinert wird.

gruss

glotzer 19. Sep 2013 21:41

AW: Thread auf mehrere Core verteilen
 
Liste der Anhänge anzeigen (Anzahl: 2)
für alle die wie ich darüber genervt sind/waren das archiv erst entpacken zu müssen... :


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.
Seite 3 von 5     123 45      

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