Code review comment for lp:~kiithsacmp/stellarium/glexperiment

Ferdinand Majerech (kiithsacmp) wrote :

Ok, results:

These are on release builds. Debug builds _are_ a lot slower (not 5
times slower, though) after the refactor, due to a lot of uninlined
functions and invariant calls.

VSync(default on open source drivers) is on, so I'm fixed to at most 60FPS.
No idea how to disable it with these drivers, will google later.

Stellarium just plain opened (default settings, night sky right now):
trunk: 59-60FPS (VSync)
refactored-GL2: 59-60FPS (VSync)
refactored-GL1: 59-60FPS (VSync)

Stellarium opened, disabled atmosphere/ground, zoomed out max, pulsars
enabled at default settings (lots of rectangles)
trunk: 59-60FPS (VSync)
refactored-GL2: 45-55FPS
refactored-GL1: 59-60FPS (VSync)

Looking at Saturn(FOV ~0.01 deg)
trunk: 3-4FPS (WTF? this didn't happen before - yes,
this is trunk, not my code. No debug spam either)
refactored-GL2: 27-29FPS
refactored-GL1: 26-29FPS

Also, is there some shader warning spamming terminal output?
That might decrease FPS quite a bit.

I'll try my integrated Intel GPU (HD2000) later, and maybe old GeForce
(~5years, don't remember which)

On 8/30/12, No Idea <email address hidden> wrote:
> I'll look at those compilation bugs (don't have a Mac, though).
> As for performance, there is visible decrease with the GL2 backend
> (60-70% performance), but nothing that massive. On my new PC (i5 3570K
> 3.4GHz, Radeon HD6770, open source AMD drivers (Catalyst doesn't work
> for Ubuntu 12.10 yet, but Catalyst with 12.04 had similar slowdown, at
> higher FPS))
> Also, try the GL1 backend (simplest way is to use --safe-mode) - on my
> machine
> it's speed roughly matches trunk (most of time slightly - ~10% slower,
> sometimes, e.g. planet drawing, faster)
> Most likely there's a driver specific issue (what's the driver, GPU?
> Is that on the Mac?) Maybe a profiler would help.
> A profile might help but it usually only helps find CPU-bound problems,
> it's unlikely this is the case here.
> Also, any shader warnings? (show up during run time)
> Going to compare FPS trunk<->refactored right now, will reply later
> with results.
> On 8/30/12, treaves <email address hidden> wrote:
>> Review: Needs Fixing
>> This simply fails to compile.
>> Looking into it more, there are several issues:
>> - GL_RGBA32F on Mac is GL_RGBA32F_ARB. It looks like this may be due to
>> Apple not having updated their include files to reflect that it is now
>> standard, and not experimental.
>> - SolarSystem.cpp:937:12: error: variable length array of non-POD element
>> type 'Vec4f' (aka 'Vector4<float>')
>> - SolarSystem.cpp:940:22: error: variable length array of non-POD element
>> type 'Mat4d' (aka 'Matrix4<double>')
>> For those last two, you need to do heap allocation, or refactor the code
>> to
>> use a Qt structure (QVector perhaps?).
>> Once those are taken care of, it compiles and runs (I used the heap
>> allocation because it was the most expedient solution). However. On my
>> very new, very expensive, very high end computer, the frame rate goes
>> from
>> 75 for the 0.11.4 release we just made, to 15. That's a phenomenal
>> decrease
>> in performance! I'll try it tomorrow on my crappy work machine running
>> Ubuntu, to see how it is there. Is this kind of performance decrease
>> expected?
>> --
>> You are the owner of lp:~kiithsacmp/stellarium/glexperiment.

« Back to merge proposal