# [Game] SuperTux on FreeBSD



## giahung (Oct 20, 2013)

I installed SuperTux from ports /usr/ports/games/supertux-devel with the base GCC (I'm not using FreeBSD 10). Everything worked but that version of SuperTux is eating my CPU. It uses more than 50% CPU so that I can't run other program while it is running. Is there any solution to stop SuperTux from eating my CPU? (You know that I'm a fan of Super Mario, part of my childhood, SuperTux is the best fork of it.)

And finally sorry about my poor English


----------



## Savagedlight (Oct 20, 2013)

You should look at nice(1) and see if that helps.


----------



## xibo (Oct 20, 2013)

The more CPU time a process consumes, the more it's scheduling priority decreases, while priority increases for processes which are sleeping (or waiting on input), and in case there are more processes that can be run than CPUs to run them, the scheduler picks the highest prioritizes ones, and reinserts them into the runnable process queue with a decreased priority after the next schedule timer (kern.hz sysctl(8) tunable) tick (while those processes which couldn't be run due to low resources get their priority increased).

Notice user set nice levels are just a one-time offset to the priority, not something that will cause unconditional priority gain.

It shouldn't be a problem running many applications just because one of them is consumptive, unless of course the other applications also are consumptive (which they aren't because you are still wasting 50% of your CPU power if it's used by 50% only). Just like you can run a well-performing ee instance on an Atom system that also is running a dozen-job `buildworld` in "background" but you can't run a performing Blu-ray or DVD software-decode on that system.

You likely have X11/OpenGL or IO/IPC bottlenecks instead  Or of course a systemcall/context switch trash, e.g. OpenGL immediate mode.


----------



## zspider (Oct 22, 2013)

giahung said:
			
		

> I installed SuperTux from ports /usr/ports/games/supertux-devel with the base GCC (I'm not using FreeBSD 10). Everything worked but that version of SuperTux is eating my CPU. It uses more than 50% CPU so that I can't run other program while it is running. Is there any solution to stop SuperTux from eating my CPU? (You know that I'm a fan of Super Mario, part of my childhood, SuperTux is the best fork of it.)
> 
> And finally sorry about my poor English



Why play that when you can play the real thing, emulators/mupen64. I'll leave you to figure out where to go from there.


----------

