Page 1 of 1

celestia takes 100% CPU time :(

Posted: 26.01.2006, 17:14
by gamez
hello

what about an option in the menu which ask how many fps (frames/sec) we want celestia display?

i dont know how many fps celestia uses actually but with less fps displayed i am sure it will take a reasonnable % of CPU time.

the difference between 2 images seperated by 5 sec is not very important (even for a real time, since movements are very slow...)


what do you think about it?

thx

Posted: 26.01.2006, 18:16
by julesstoop
If a foreground program takes 100% of your CPU-resources this is not necesseraly a bad thing. It essentialy means the software can at least take full advantage of available number crunching power on your system and most of the time is not being bogged down by other potential bottlenecks (RAM, HD, etc..).

As soon as you interact with another program though, the scheduler of your OS should give you back enough processor cycles to do whatever you wanted to do (write a mail, visit some webpage) and lower the priority of celestia until you are finished.

If this doesn't happen on your system, it seems to more of an OS related problem, than a celestia specific problem.

Posted: 26.01.2006, 18:41
by gamez
yes when i switch to an other program (for example firefox) and let celestia in background execution it doesnt perturb my second application, but the cpu stays to 100%.

i wonder if this is really necessary since celestia isn't visible no more.

the 100% use of cpu heats it up, it is for this reason that i asked if it is possible to configure celestia to decrease the number of fps ==> this action will decrease the cpu usage and there will be no difference at all in the use of celestia.

Posted: 26.01.2006, 19:38
by Fightspit
What is your configuration of your PC ?

- Processor ?
- Memory RAM ?
- Graphic Card (and driver version) ?
- HDD ?

If you PC is slow, decrease the graphic setting on your Celestia if possible.

To show fps, press ` .

Posted: 26.01.2006, 20:11
by gamez
celestia does not slow down my pc at all.
as i write above, it does not disturb any other application at all.

like games, the 100% use of cpu time is not synonym of slow down, but synonym of warming.
but contrary to games celestia does not need to display many frames/sec.
so the 100% use of cpu is not necessary in this case.
a control of the fps parameter would notably controls the utilization of cpu without having consequences in the performances of celestia

Posted: 26.01.2006, 20:42
by julesstoop
Please do not forget Celestia does calculate a lot of stuff, which might be out of your field of view, continuously. Like the position of objects etc..

I do however still experience a considerable CPU load from celestia when time is paused as well. Theoretically that needn't be the case.

Posted: 26.01.2006, 21:03
by rra
I quite agree with Gamez , it is not about slowing down my computer for other purposes, but I just don't like my CPU fan spinning at max speed (and making lot of noise, CPU consuming lots of power) only because Celestia wants to redraw / recalc the image 60 times per second.
It has been asked several times before to implement an option to set the
max. FPS rate at which Celestia recalcs its images would be very nice.

Maybe one day ...


Ren?©

Posted: 26.01.2006, 21:12
by selden
Celestia uses 100% of the CPU if it cannot keep up with the system's screen refresh rate. Many people seem to like to set their display refresh rate at 75fps or faster. LCDs usually require 60fps.

If Celestia can refresh its window in less time than is needed by the refresh rate that you've configured your system to have, then Celestia will use less than 100% of the CPU.

Your options are to reduce your system's screen refresh rate, reduce the screen resolution, upgrade your system, or reduce the amount of recalculation Celestia needs to do. E.g. run Celestia in a smaller window or reduce the number of Addons that are loaded. A lot of CPU time is needed to calculate which stars or galaxies are obscured by foreground objects, so turning off Galaxy rendering can help. Also, backing away from a planet, so fewer background objects are hidden, will reduce this load. Reducing the magnitude limit, so fewer stars are drawn, also helps.

The current version of Celestia will use no CPU time when it's iconized.

Posted: 26.01.2006, 21:44
by gamez
julesstoop wrote:Please do not forget Celestia does calculate a lot of stuff, which might be out of your field of view, continuously. Like the position of objects etc...


position of objects needs to be calculate how many times in one second??
do you think that these objects move so fast that their position need to be recalculate 75 times in one second?

1 time in a second is sufficient, isnt it?
position of an object will be very different between 2 calculations seperated by an interval of one second? i dont think so.

Posted: 26.01.2006, 21:50
by julesstoop
You might remember most objects in space move quite fast. Speeds are in the order of up to 50 km/s. 8)

Posted: 26.01.2006, 21:57
by gamez
in 24hours the position of earth will move only 1 degre...

50 km represents a very little fraction of a pixel on your screen...
can you actually perceive the movement of earth with 75 fps? i dont think so^^
you will see no difference if the image would be calculated only 1 time in 1 sec

Posted: 26.01.2006, 22:30
by selden
Celestia is designed so that you can set the "simulation date/time" to any value whenever you want. It can not assume that the contents of any viewpoint window naturally follow from whatever was in that window during the previous screen update. Each screen image is calculated from "first principles". That's one of the reasons that it cannot simulate gravity.

However, I agree that it would be nice to be able to specify the fps manually rather than it always running as fast as possible.

Posted: 26.01.2006, 22:40
by julesstoop
gamez wrote:in 24hours the position of earth will move only 1 degre...

50 km represents a very little fraction of a pixel on your screen...
can you actually perceive the movement of earth with 75 fps? i dont think so^^
you will see no difference if the image would be calculated only 1 time in 1 sec


It al depends on the distance between the observer and the 'moving' object, doesn't it?
Hubble or ISS shooting by with a relative speed of about 10 km/s seen from a few hundred meters away is certainly going to be noticable. :)

Posted: 27.01.2006, 00:05
by gamez
celestia permits you to navigate through immensity of universe and you, you tell me you prefer appreciate the movement of hubble or iss?? 8O

even if you use celestia for this reason, the difference between 1 or 2 fps will not disturb your view of the iss real time movement in comparaison with 75 fps or so.
unless you (the observer) prefer follow it (the moving object) at a distance of 10 meters between you and it...
so in this case only: yes you need more fps... it is what you want to do?

Posted: 27.01.2006, 00:06
by Johaen
selden wrote:Celestia uses 100% of the CPU if it cannot keep up with the system's screen refresh rate. Many people seem to like to set their display refresh rate at 75fps or faster. LCDs usually require 60fps.

If Celestia can refresh its window in less time than is needed by the refresh rate that you've configured your system to have, then Celestia will use less than 100% of the CPU.

Your options are to reduce your system's screen refresh rate, reduce the screen resolution, upgrade your system, or reduce the amount of recalculation Celestia needs to do. E.g. run Celestia in a smaller window or reduce the number of Addons that are loaded. A lot of CPU time is needed to calculate which stars or galaxies are obscured by foreground objects, so turning off Galaxy rendering can help. Also, backing away from a planet, so fewer background objects are hidden, will reduce this load. Reducing the magnitude limit, so fewer stars are drawn, also helps.

The current version of Celestia will use no CPU time when it's iconized.



I just tested this, and it is not true. Atleast it's not the way I'm expecting it.

I flew as far away from everything as possible, shut off the rendering for all objects, and turned the magnitude setting to it's minimum, in an attept to reduce the CPU load as much as possible. When I do that, I get 200-300 fps, using 100% of my CPU. My display's refresh rate is 60 Hz. Obviously, Celestia is rendering more frames than my refresh rate. I also did this test on my friend's PC (which is much more powerful than mine in every regard), with the same display. He got approx. 3000 fps, CPU running at 100%.

Celestia has no need to run at 3000 fps, or even 300 fps. The highest framerate you should ever really need is about 60 fps, giving a smooth motion.

Posted: 27.01.2006, 02:06
by chris
Johaen wrote:I just tested this, and it is not true. Atleast it's not the way I'm expecting it.

I flew as far away from everything as possible, shut off the rendering for all objects, and turned the magnitude setting to it's minimum, in an attept to reduce the CPU load as much as possible. When I do that, I get 200-300 fps, using 100% of my CPU. My display's refresh rate is 60 Hz. Obviously, Celestia is rendering more frames than my refresh rate. I also did this test on my friend's PC (which is much more powerful than mine in every regard), with the same display. He got approx. 3000 fps, CPU running at 100%.

Celestia has no need to run at 3000 fps, or even 300 fps. The highest framerate you should ever really need is about 60 fps, giving a smooth motion.


The fact that Celestia is running at such high frame rates is due to your graphics driver settings. If you bring up the Display Properties control panel (I'm assuming you're running on Windows) and click the advanced button, you'll see a dialog box with a bunch of different options for your graphics card. Exactly what you see depends on the graphics driver you have installed. Search around for an option like 'enable vsync' and turn it on. This will cap the frame rate of 3D applications to your monitor's refresh rate.

--Chris

Posted: 27.01.2006, 03:34
by Johaen
chris wrote:The fact that Celestia is running at such high frame rates is due to your graphics driver settings. If you bring up the Display Properties control panel (I'm assuming you're running on Windows) and click the advanced button, you'll see a dialog box with a bunch of different options for your graphics card. Exactly what you see depends on the graphics driver you have installed. Search around for an option like 'enable vsync' and turn it on. This will cap the frame rate of 3D applications to your monitor's refresh rate.

--Chris


Using my ATI Catalyst Control Center, I set my 3D Refresh Rate Override to Same as Desktop. This was the setting that seemed the closest to what you described. Yet, I still get the same results as before: anywhere from 100 to 400 fps, depending on what's going on on the screen, and what my PC is doing in the background. I also tried changing it to a few different settings, such as 60 Hz, 66 Hz, and 70 Hz. None of them seemed to make any difference.

Posted: 27.01.2006, 12:25
by julesstoop
gamez wrote:celestia permits you to navigate through immensity of universe and you, you tell me you prefer appreciate the movement of hubble or iss?? 8O


No need to get personal, gamez.
I was just pointing out to you that percieved speed is relative to your point of view, and that you had obviously forgotten that considering your previous response.

Posted: 05.03.2006, 10:23
by gamez
in fact my question is:

is it possible to add the possibility to manually choose the number of calculation of frames per second, in order to satisfy everybody???
those who need high fps number to watch a movement when close of it, and those who not need such high number of calculations per second to decrease the load of cpu work..

(for example, like with the "starry night backyard" software does. that is to say: enter the desired number and that's it! :))