[quote name='trs79' timestamp='1318535519' post='4872280']
Thanks for the link, I see your point but the drop from ~600fps to ~360 fps was on my fast development machine. I'm trying to target low-end laptops, and when I tested the code on one of those I went from 170 fps to ~95 fps which seems like a greater percentage based performance drop (and getting closer to the 60fps target). I'm concerned because I still have more code to add and I'm afraid it will drop down even further. Anyone have any clues as to why a simple memory write takes that much time? Thanks.
It doesn't seem like you read the article. Don't mislead yourself into believing a drop from 170 to 95 FPS is close to a 50% performance drop.
For your code... What is it that you are computing? How often are you computing it? Your code looks like it will always compute the same value.
[/quote]
I did read the article, the takeway I got was that the lower the fps you have when it drops means a greater relative performance loss, i.e. the drop from 60 to 55 was worse then the drop from 900 to 400, hence my drop from 170 to 90 was worse on my target machine then the drop from 600 to 350 on my developer machine. (I'm looking at the "[font="Trebuchet MS, Arial, Helvetica"][font="Times New Roman"]If you've been paying attention, you should suspect that the 5FPS drop is a sign of a greater performance cost than the 450FPS drop seen with the first method! In fact, that 5FPS drop represents 36.4% more execution time than the 450FPS drop![/font]" [font="Arial"]part towards the end of the article specifically.[/font]
[font="Arial"]The computation I posted is simplified for clarity, the actual code deals with creating an implicit surface for Smoothed particle hydrodynamics[font="Trebuchet MS, Arial, Helvetica"]. Like I mentioned earlier it's computed 125,000 times during the loops executions, and that function is called as fast as possible.[/font][/font][/font] So it seems whatever latency is caused by the array access is being accumulated to the point where it's noticeable. The rendered scene is actually very simple at this point.