Im a newbie to multi-core apps and have been studying concurrent frameworks and found the smoke framework interesting to experiment with. =)
Has anyone tried using the smoke framework on a quad-core ? I'm using a q6600 w/o hyper threading and found out that
on 4 threads on release build i've been getting a 5-6 fps reading for this demo.
I tried using the thread profiler and the profiler seems to be displaying a "Frequent use of contended synchronization was detected" .. i traced it with a view source and it was showing some overheads(yellow vertical lines) and that the threads were synchronizing too frequently.
If there are too may synch activities how can i optimize this so that i can limit the synching activities?
Running the Smoke demo on my q6600, Win XP Pro x64 running Smoke as a 32-bit application, Compiled with MS C++, AMD FireStream 9170, the Release build
Single Threaded ~2fps
Windows Threading ~8fps
TBB Threading ~12fps
Your performance issue may be related to your display adapter. Note, these readings taken when flames are roaring. That seems to be one of the heavy load situations.
What do you see for each threading environment (edit Smoke.gdf in the bin folder, variable TaskManager)