Notifications
Clear all

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-

Congratulations and Profiling!

(@fluffyfreak)
Noble Member

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

Quote
Topic starter Posted : September 25, 2011 06:41
 robn
(@robn)
Noble Member

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.

ReplyQuote
Posted : September 25, 2011 13:22
(@luomu)
Estimable Member

VS2010 profiler should be the first one to try (Analyze -> Launch performance wizard...) but it might only be available from pro upwards.

ReplyQuote
Posted : September 26, 2011 06:36
(@fluffyfreak)
Noble Member

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.

ReplyQuote
Topic starter Posted : September 30, 2011 12:59
(@Anonymous)
New Member
fluffyfreak wrote:
So, onto my question: What tools are people using to profile Pioneer?

I use Instruments (osx) - still learning how it works actually.

GeKf0.png

ReplyQuote
Posted : September 30, 2011 16:27
(@olli1981)
New Member

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.

ReplyQuote
Posted : October 5, 2011 12:54
(@fluffyfreak)
Noble Member
Olli1981 wrote:
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.

ReplyQuote
Topic starter Posted : October 6, 2011 01:16
(@matthewfarmery)
Eminent Member

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

ReplyQuote
Posted : October 6, 2011 06:22
(@fluffyfreak)
Noble Member

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.

ReplyQuote
Topic starter Posted : October 6, 2011 06:51
(@olli1981)
New Member

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. 🙁

fluffyfreak wrote:
Olli1981 wrote:
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!

Then you should give AMD CodeAnalyst a try. No matter if you're using and AMD or Intel cpu.

ReplyQuote
Posted : October 6, 2011 07:01
(@fluffyfreak)
Noble Member
Olli1981 wrote:
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. 🙁

*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?

ReplyQuote
Topic starter Posted : October 6, 2011 07:09