Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat
Was du willst ist, beim Programmstart für jeden Core einen Thread zu erzeugen und diese Threads dann über Work Queues zu füttern. Dafür ist aber ein solides Verständnis von paralleler Programmierung nötig. Wenn ich dann sehe, wie du per sf::sleep() auf deine threads "wartest", ist klar, dass es dir in dem Bereich noch massiv an Grundlagen mangelt.
In dem Fall würde dir schwerstens empfehlen, die PPL oder so zu nutzen, die all diese Dinge automatisch für dich macht.
C-/C++-Quelltext |
|
1 |
std::vector<std::unique_ptr<sf::Thread>> threads; |
C-/C++-Quelltext |
|
1 |
threads[1].sleep
|
Zitat
Aber vom Stromverbrauch her nicht gerade etwas, was ich in einen Laptop packen würde und afaik auch kein Hyperthreading...
Ja ich bin gerade dabei Habe praktisch vor einer Woche mit c++ angefangen. Threading kenne ich von c# etwas.
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »dot« (27.11.2012, 18:13)
Kompilier es einfach selber, ist nicht schwer und wenn du mit C++ weiter programmieren willst, dann ist das eine Fähigkeit die man einfach beherrschen muss...Ich habe leider auch keine Version für Vc11 gefunden. Hat jemand eine oder so zufällig und shickt sie mir
Bin vorerst zurück auf vc10. Also kein std::thread.
Wo ist das Problem?Dazu brauch ich aber immer noch einen Array von Threads.
std::vector<std::unique_ptr<sf::Thread>> threads;
auf die Threads mittels Index zu zu greifen?
Müsste ja z.B.: threads[1].sleep
Zitat
unique_ptr verhält sich wie ein Pointer, also müsste das threads[1]->sleep() heissen.
Mit Threads rumzuprobieren, kann man mir allerdings nicht ausreden.
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »dot« (27.11.2012, 20:17)
Zitat
Und ich wiederhole auch nochmal meine Empfehlung: Verwend einfach die Parallel Patterns Library.
Zitat
Wenn du schon dabei bist, könntest du auch gleich einen Schritt weiter gehen und C++ AMP verwenden, dann würde deine Partikelsimulation wie von selbst auf der GPU laufen...
Zitat
Seh ich das richtig, dass sowohl dein "Client Thread" als auch dein "Engine Thread" rendern?
Zitat
Was genau verstehst du unter "linearen Operationen"?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Horus« (28.11.2012, 10:00)
Werbeanzeige