To all SSC Station occupants
Thank you for the donations over the past year (2024), it is much appreciated. I am still trying to figure out how to migrate the forums to another community software (probably phpbb) but in the meantime I have updated the forum software to the latest version. SSC has been around a while so their is some very long time members here still using the site, thanks for making SSC home and sorry I haven't been as vocal as I should be in the forums I will try to improve my posting frequency.
Thank you again to all of the members that do take the time to donate a little, it helps keep this station functioning on the outer reaches of space.
-D1-
Hi everyone,
Been away working (Woo!) and without a net connection (Boohoo!) so not had much time or ability to do much lately.
That aside I'm sat at my PC right now enjoying the delights of everything I've missed over the last 5 weeks! There's been some really nice changes.
Dutifully I grabbed the latest and merged it into my (rather messy) fork to get hacking again... with a tiny hitch. My Debug build under Visual Studio 2010 is so slow as to be completely useless, Release is lightning fast. It looks from the very poor profiles I've managed to get that something is thrashing the Stl Lists around under debug but I can't imagine what and I'm unable to get a better view.
So, onto my question: What tools are people using to profile Pioneer?
Thus far I've been using some manual and intrusive code side profiling but it's really not cutting it. I'd like an external profiler, preferably free of course!
Does anyone have a recommendation?
Andy
I have no idea what's available for MSVC. GCC builds can use gprof (Pioneer has a configure option for it) or you can use valgrind/cachegrind if you've got years to spare.
VS2010 profiler should be the first one to try (Analyze -> Launch performance wizard...) but it might only be available from pro upwards.
It should and probably will be but I thought it was Pro and Team editions (and better) only of Visual Studio? I mean I know you can use profile guided optimisation but that's done by instrumented analysis by VS2010 automagically.
I use Instruments (osx) - still learning how it works actually.
You can use AMD CodeAnalyst or Intel V-Tune. But you shouldn't profile a debug build. A debug build contains a lot of checks which make it slow. You can profile a release build.
Oh I know, I'm a developer by trade but we have suites of profiling software for what I work on professionally. It's finding _good_ free profiling tools outside work that is difficult!
The Debug build is the one I'm interested in, there's no point it even existing if it's so slow that it's non-functional. Something happened to it between Alpha's 13 and Pre-Alpha 15 which means that it is too slow to actually use for debugging now with Visual Studio 2010/2008. This appears to be due to some horrific list thrashing which gets so heavily optimised in Release builds that it doesn't make too much difference on a powerful PC... but on the lower-end machines it might still have a negative impact.
Profiling it was just to find out the cause, because I could see the thrashing but not where it was coming from.
Ive also noticed that the prelease build that was added in the last MSVSC fix ups, has also got really slow too, still a bit faster then the debug build is is horribly slow, but the prelease is certainly slowed down a lot since then, and sol when stardreaming (when it doesn't crash) is horrible slow
so to find this cause of the slowdown would help testing the debug and prelease builds a lot better, I do have a good system, and even that doesn't really help much, so on low end systems it would be horrible
Yeah I added the PreRelease version to get some speed back. I've used a similar system in my day job so that you're usually running at 90% of full speed but with most of the debug info.
It's pretty bad if that's slowing down too. Something must be destroying or reorganising some pretty massive amounts of data stored in a very inappropriate data structure every frame.
The performance comes back if you pause the game but even in an almost empty star system in the middle of space with no other ships, cities, planets nearby it still performs very badly, until paused when the framerate returns.
I've no problems running a debug build with the current code. But I've no compare to the previous version.
The game looks great but not the thing I'm looking for. 🙁
Oh I know, I'm a developer by trade but we have suites of profiling software for what I work on professionally. It's finding _good_ free profiling tools outside work that is difficult!
Then you should give AMD CodeAnalyst a try. No matter if you're using and AMD or Intel cpu.
The game looks great but not the thing I'm looking for. 🙁
*snip*
Then you should give AMD CodeAnalyst a try. No matter if you're using and AMD or Intel cpu.
The only "problems" are very poor performance which given some of the code I'm writing at the moment (in my "Vavatch" branch if you want to take a look) can bring the release build to it's knees, so what would be a 3-5 fps slideshow in Debug in the normal game becomes 15-seconds-per-frame when I have an Orbital 600,000kms across etc.
I've been giving CodeAnalyst a try, it's limited on my Intel machine to pretty crap profiling, but it's a little better on my laptop. I'm away during the week so not getting much time to try it again.
Should do once more this weekend.
What is it that you're looking for?