Pingus / pingus

GNU General Public License v3.0
167 stars 30 forks source link

Excessive CPU usage #143

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
On GNU/Linux, version 0.7.6

Pingus general CPU usage is really excessive.
Menu: 30-50% CPU
Playing: 50-65% CPU
Playing, paused: 50-65% CPU (no change)
On a laptop, this rapidly heats and sets the fan on high speed, which is not 
comfortable and draws battery too fast.

On the menu we should expect nearly zero CPU usage.
Ditto for a paused game.
When playing, because the game is mostly a display of tiny images, we should 
expect only a few % CPU usage maximum. Maybe some % more when moving landscape 
because it's a larger image but no more.

Original issue reported on code.google.com by adrien.p...@gmail.com on 26 Nov 2014 at 3:18

GoogleCodeExporter commented 9 years ago
Try the OpenGL renderer (pingus -r opengl), that should use less CPU then the 
default software renderer.

Original comment by grum...@gmail.com on 4 Dec 2014 at 4:17

GoogleCodeExporter commented 9 years ago
I've just tried, it doesn't change CPU usage. fps is 39.

BTW, there is no way to know this -r parameter has any effect.
I tried "pingus -r foobar" and pingus launched exactly as usual.

"pingus -h" and "pingus --help" neither have effect and in particular don't 
give a summary of available options...

Original comment by adrien.p...@gmail.com on 4 Dec 2014 at 4:53

GoogleCodeExporter commented 9 years ago
Update: I recompiled from git, this commit:

commit 6a1153ad272e60733a598c1a478663757cf4ddbb
Author: Ingo Ruhnke <grumbel@gmail.com>
Date:   Thu Sep 11 23:56:59 2014 +0200
A new levelset by Shaun David Crowdus <maestrocheshercat@hotmail.com>

"pingus --help" now works, but "pingus -r opengl" improves nothing. At least on 
my machine.
And "pingus -r foobar" still doesn't produce error.
Is there a way to get the available renderers?

Original comment by adrien.p...@gmail.com on 4 Dec 2014 at 5:54

exussum12 commented 9 years ago

Most of the time spent for me is in 'libmikmod.so.3.3.0' function (VC_WriteBytes) (slightly over 50% of the time spent here) with the next biggest function being part of the graphics.

Starting with -sm for me does drop the CPU load almost 50%.