AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thread auf mehrere Core verteilen

Ein Thema von EWeiss · begonnen am 18. Sep 2013 · letzter Beitrag vom 20. Sep 2013
Antwort Antwort
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#1

AW: Thread auf mehrere Core verteilen

  Alt 18. Sep 2013, 18:52
Kann doch nicht einen Thread in 5 Threads aufsplitten um das zu umgehen.
Zumindest habe ich dazu wenn es möglich wäre nicht die erfahrung.
Doch, genau das solltest du versuchen! (Und wenn du jetzt wie der Ochs vorm Berg stehst weist du warum automatische Parallelisierung nicht so der Renner ist)

zum Beispiel habe ich drüben in der EE mal was programmiert was eine lange Zahl mit X multiplizieren musste. Hat natürlich auch 100% CPU Last auf einem Kern gehabt. Dann habe ich das mal auf Papier überprüft und gesehen, dass man das durchaus parallelisieren kann: Man gibt teilt die Zahl einfach in 2 Teile in der Mitte duch. Jeweils ein Thread multipliziert nun eine Hälfte mit X. Was der "linke" herausbekommt ist das Ergebnis was ich wollte. Der Übertrag, den der "rechte" rausbekommt, muss anschließend auf die linke Hälfte draufaddiert werden.

Multiplikation lässt sich also parallelisieren. bei der FFT bin ich mir nicht sicher, aber es könnte schon sein dass das gar nicht geht. Leider gibt es eine Kategorie "einfach parallelisierbar" und eine "quasi nicht parallelisierbar" und nur selten was dazwischen.

@Phoenix: Wenn man hier upvoten könnte, dein Post wäre das wert
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Thread auf mehrere Core verteilen

  Alt 18. Sep 2013, 19:02
Zitat:
@Phoenix: Wenn man hier upvoten könnte, dein Post wäre das wert
Jo war sehr gut erklärt! danke nochmal dafür

gruss

Geändert von EWeiss (18. Sep 2013 um 19:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

AW: Thread auf mehrere Core verteilen

  Alt 18. Sep 2013, 19:25
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.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Thread auf mehrere Core verteilen

  Alt 18. Sep 2013, 19:49
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
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
454 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Thread auf mehrere Core verteilen

  Alt 19. Sep 2013, 17:51
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).
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Thread auf mehrere Core verteilen

  Alt 19. Sep 2013, 17:55
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
  Mit Zitat antworten Zitat
OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Thread auf mehrere Core verteilen

  Alt 19. Sep 2013, 18:14
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 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