I can't count the number of times I've seen people try to fix a performance problem without profiling. It almost always happens like this:
Yeah same here. And some people fail to find the problem even with a profiler because they cant figure out how to use the profiler or how to interpret the data.
VS Express may not have a profiler tool, but you can do your own profiling with the .NET StopWatch class.
Except he stated in the op that he is working on a c++ project and earlier today he said that he got a new VS which does have a profiler. I tought that with one time telling people not to skim the op and the thread would be enough. Skimming the posts and giving wrong advice because of it only confuses the op more.
thanks for all the helpful answers - VS Express doesn't have a profiler - but I've now got Community which does. I've checked and I'm I'm running a dual core i5 with HT, so there's 4 logical cores and the VS profiler is showing it maxing out at 25% CPU, where Task Manager was showing 12-13% - so it is one thread maxed out. And I'll not be trusting numbers from Task Manager again...
Great. Now I would suggest that you run the cpu sampling(may require admin priviliges the first time) and you can see wich function uses the most cpu and then you can even look at what lines take the most time inside that function. Tell us what you find and hopefully we can give you some easy optimization advice that will get your fps up to desired level.
Also if you can could you post the lines that use most of the time it would be easier to see what needs to be done.