Hallo,
wenn ich von einem Prozess mehrere Threads abspalte (CreateThread), nutzen die dann die Leistung von Multicore-Prozessoren besser als wenn die Aufgaben sequentiell abgehandelt werden?
Ich hab das mal versucht, komme aber zu keinen schlüssigen Ergebnissen: Eich berechne mit einem sehr einfachen Algorithmus ein Apfelmännchen (das ist die Gesamtaufgabe, die CPU soll halt was zu rechnen haben). Nun habe ich das komplette Bild in 2, 4, usw. Teile zerlegt und lasse jedes Teilbild in einem eigenen Thread rechnen. Im Hauptprogramm warte ich auf alle Threads (WaitForMultipleObjects) und baue dann aus den Teilbildern das Gesamtbild zusammen.
Ein 800x800 Pixel-Bild mit 1000 Recheniterationen pro bild dauert auf meinem Quadcore ca. 4 Sekunden, und das ist recht unabhängig von der Zahl der Threads (bis zu 100 habe ich probiert), die an diesem Problem arbeiten. Kann das sein?
LG
Jochen