Die Suche ergab 12 Treffer
- 19.05.2014, 11:44
- Forum: Algorithmen und Datenstrukturen
- Thema: Zufällige 2DMap-Generierung
- Antworten: 21
- Zugriffe: 11374
Re: Zufällige 2DMap-Generierung
Hi, ich habe eine Methode die dich vielleicht interessiert. Die Map hier wurde so erstellt: https://www.youtube.com/watch?feature=player_embedded&v=kAFwiQ5D1tg Die Map besteht nur als Blockiert- und- Frei Tiles. Das ist beliebig erweiterbar! Die Formen sind flüssig und vorab beeinflussbar. Ich h...
- 19.05.2014, 11:09
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Hey, schön, dass euch die Videos gefallen. Dabei ist alles noch in einem sehr frühen Stadium. Die grundlegenden Funktionen der Engine wollen solide implementiert sein! Designentscheidungen treffe ich oft aufgrund von Benchmarking. Datenorientierung hat Objektorientierung abgelöst. Das alles braucht ...
- 18.05.2014, 10:35
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Ich habe die oben erläuterte Methode in meiner Zielanwendung ausprobiert und die maximale Updatefrequent mit derjenigen verglichen, welche durch Einsatz zweier concurrency::parallel_for erzielt wurde. Ich konnte im Rahmen der Ablesegenauigkeit keinen Unterschied feststellen. Natürlich ziehe ich die ...
- 17.05.2014, 12:19
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Dass ist nett, dass du ein minimales Beispiel gemacht hast. Danke, das Kompliment kann ich nur zurückgeben. Du brauchst allerdings mindestens zwei Events. Die Racecondition hast du ja schon selber erkannt. Ohne Mainthread ist das etwas tricky, aber es geht so: Die Lösung ist echt cool. Performanter...
- 16.05.2014, 22:45
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Also, ich habe es mit dem WaitForSingleObject() probiert. In meinem Anwendungsfall funktioniert es nicht, bzw. ist nicht Threadsicher. http://pastebin.com/4dHaVS64 Zwischen Zeile 15 und 21 kann ein Thread einen anderen überholen. Locks nutzen nichts, ich müsste ja unlocken, nachdem Threads WaitForSi...
- 16.05.2014, 18:32
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Nein, die sind überhaupt nicht für sowas geeignet, steht sogar extra der Hinweis in der MSDN Das ist mir im Grunde bekannt. Eine Begründung findet sich nicht so richtig. Vermutlich, weil es schnell zu gemeinen Fehlern kommt, da man nicht prüfen kann ob ein Thread schon suspendet ist, wenn er sich s...
- 16.05.2014, 14:40
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
ResumeThread() und SuspendThread() sind nicht zur Synchronisierung gedacht und sollten auch nicht dafür verwendet werden. Das ist mir bekannt, jedoch erscheint das Konzept sinnvoll, um mehrere Threads die warten müssen aus dem "busy wait" zu bekommen. Ich glaube "CriticalSections&quo...
- 16.05.2014, 10:14
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Hi, "Pause" macht etwas völlig anderes. Pause ist Teil von SSE2 und bremst den Prozessor für Busy Waits(Spinloops) etwas, ohne mehr Rechenkapazität und Strom zu verschwenden als nötig ist und sollte dafür eine leicht schonendere Umsetzung erlauben. Ich werde das mal in meinem Projekt probi...
- 15.05.2014, 20:16
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Also, Yield nimmt in der Tat nicht _mm_pause() Nach dem gestrigen Prinzip habe ich einen Threadpool implementiert und noch weiter getestet. ThreadPool.h http://pastebin.com/4JJk9qs8 Und der Test: http://pastebin.com/QpVnh1zz In Zeile 38 des Threadpool habe ich folgende probiert: std::this_thread::yi...
- 15.05.2014, 09:17
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Hi, Ich erinnere mich, dass x86 einen speziellen Spinlock-Befehl hat, den die CPU auch als „warte und schieb andere Hyperthreads dazwischen; Ok das werde ich prüfen, falls es nicht der Befehel ist nehme ich den und prüfe mal die Update-rate. Ansonsten habe ich mir den Quelltext nicht weiter angescha...
- 14.05.2014, 17:04
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Re: Effiziente Synchronisation von Threads
Yield-Schleifen sind übel für das Betriebssystem. Wenn grad nix zu tun ist, kriegt der Nutzer damit ein ganzes Bündel hässlicher Effekte, schlimmstenfalls die Rückkehr der guten alten sprunghaften Maus. Ok, danke, das mit dem Yield nehme ich mir nochmal vor. SuspendThread und ResumeThread vielleich...
- 14.05.2014, 13:32
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Effiziente Synchronisation von Threads
- Antworten: 34
- Zugriffe: 6264
Effiziente Synchronisation von Threads
Hi, ich wollte mal eure Meinungen zu meiner Synchronisationsklasse einholen. Kann man da noch was drehen, damit das Ding noch schneller wird? Kann es zu Deadlocks kommen? (Im Test gab es bisher noch keine) So sieht die Klasse aus: http://pastebin.com/ajVSe1La So wird sie genutzt: http://pastebin.com...