poor CPU performance?
poor CPU performance?
hi all!
I'm note that when I run Celestia 1.4.1 CPU always are load minimun about 50%:
I open celestia, wait to load... and once celestia are open and runnig and nothing more, CPU load are about 50%. If i do anything in celestia, CPU load up to 100%. When task finished (for example go to moon) cpu down to 50% again. Maybe problems is HT?
My sistem:
CPU: Intel P4 650 (with HT enabled)
OS: Windows XP x64
RAM: 2x 1024Mb DDR2
HD: 2x 200Gb SATA (RAID 0)
Video: Nvidia 7600GT 256MB
Celestia 1.4.1
i think aren't normal that only with celestia open CPU load are 50%.
I'm note that when I run Celestia 1.4.1 CPU always are load minimun about 50%:
I open celestia, wait to load... and once celestia are open and runnig and nothing more, CPU load are about 50%. If i do anything in celestia, CPU load up to 100%. When task finished (for example go to moon) cpu down to 50% again. Maybe problems is HT?
My sistem:
CPU: Intel P4 650 (with HT enabled)
OS: Windows XP x64
RAM: 2x 1024Mb DDR2
HD: 2x 200Gb SATA (RAID 0)
Video: Nvidia 7600GT 256MB
Celestia 1.4.1
i think aren't normal that only with celestia open CPU load are 50%.
Celestia has to recalculate the positions and visibility of everything you see in its window every time your system refreshes its screen. If you have set the screen refresh rate to be 75Hz, then Celestia has to recalculate everything in 1/75 of a second. If it finishes recalculating everything before the screen is refreshed, then it will use less than 100% of one CPU. If it takes longer, then it will use 100% of the CPU and Celestia will redraw its window more slowly than the screen's refresh rate.
In a dual processor or dual-core system or in a hyperthreaded system simulating a dual processor system, 100% of one of the CPUs is shown as 50% of total system usage.
Type a ` (=backslanted apostrophe =accent grave) to enable Celestia's fps (frames per second) display in the lower left corner. If you have a keyboard that supports diacritical marks, then you may need to type a [space] after the `
What refresh rates are you getting?
p.s.
I have updated the "preliminary user's faq" that's near the top of the Users Forum. See Q/A#29 for ways to reduce Celestia's CPU usage.
In a dual processor or dual-core system or in a hyperthreaded system simulating a dual processor system, 100% of one of the CPUs is shown as 50% of total system usage.
Type a ` (=backslanted apostrophe =accent grave) to enable Celestia's fps (frames per second) display in the lower left corner. If you have a keyboard that supports diacritical marks, then you may need to type a [space] after the `
What refresh rates are you getting?
p.s.
I have updated the "preliminary user's faq" that's near the top of the Users Forum. See Q/A#29 for ways to reduce Celestia's CPU usage.
Selden
Really has to do it? It's important to have a high refreshing rate in your screen in order to reduce eye strain (it's the main cause of that condition) but, on the other hand, you usually watch TV at 30 or 25 fps and movies at 24 fps (even less if it is a cartoon) without noticing independent frames.selden wrote:Celestia has to recalculate the positions and visibility of everything you see in its window every time your system refreshes its screen.
(...)
- reduce the screen refresh rate
I have my monitor configured at 85 Hz (P4 3.2 GHz) and it takes 100% CPU to draw variable fps from 40 to 85 in Celestia. The animation is always fluent, so the CPU is helplessly calculating useless pictures, and the CPU fan begins to work trying to cool it.
selden wrote:You can make Celestia use less of the CPU if you ask it to draw less.
With all due respect, I think actually that applies to you -- it would be great that Celestia would have a 'max fps' option somewhere.
framerate and screen-refreshrate are 2 totally different things... don't mix them up.
and no you are not watching tv at 25 Hz... regardless of the input-video your screen refreshes more often... presumably ~60 Hz or more depeding on your tv
I also have never seen celestias framerate above my current tft-refresh-rate (72 Hz) but that might just be a weird coincidence
and no you are not watching tv at 25 Hz... regardless of the input-video your screen refreshes more often... presumably ~60 Hz or more depeding on your tv
I also have never seen celestias framerate above my current tft-refresh-rate (72 Hz) but that might just be a weird coincidence
most recent celestia win32-SVN-build - use at your own risk (copy over existing 1.5.1 release)
Celestia recalculates the visibility and positions of all of the objects within the field of view each time it generates a new image to be displayed. That's the way it's designed. As a result, you can change the time or location and it'll immediately show you that new viewpoint in its next frame.
If Celestia completes its calculations before your computer is ready to display a new frame, it'll stop calculating and the CPU usage will be less than 100%. Or at least, that's what's supposed to happen. That's what it does on my system, which has the Nvidia option "Vertical sync: application controlled" enabled.
If the "Vertical sync" feature is disabled, Celestia probably will start calculating the next frame without waiting. Many gamers disable vertical sync because it gives a slightly higher fps and thus more "fluid" motion of on-screen objects. Disabling vertical sync has the disadvantage that it causes the visible image to "tear". There is a discontunity in the image shown on the screen where the computer starts drawing the lower part of the new frame while the top part of the old frame is still visible.
I usually see 100% CPU usage on my system while I'm running Celestia. Windows Task Manager shows slightly more than 50% because I have hyperthreading enabled, so XP thinks I have two CPUs, and there are other programs running in the background.
When I remove all Addons, disable antialiasing, and turn off *all* of Celestia's Render/ View Options except for Planets and Stars, with Celestia's window occupying the entire screen (except for the task bar), I get 60fps and Task Manager claims that CPU usage is only 15%. This is after a normal startup, with the Earth occupying most of Celestia's window.
Config:
1GB, 3.4MHz P4-550, WinXP Pro
128MB GF6600GT 16xPCI-e, ForceWare v84.21
1600x1200, 60Hz
Celestia v1.4.1 final & from CVS
If Celestia completes its calculations before your computer is ready to display a new frame, it'll stop calculating and the CPU usage will be less than 100%. Or at least, that's what's supposed to happen. That's what it does on my system, which has the Nvidia option "Vertical sync: application controlled" enabled.
If the "Vertical sync" feature is disabled, Celestia probably will start calculating the next frame without waiting. Many gamers disable vertical sync because it gives a slightly higher fps and thus more "fluid" motion of on-screen objects. Disabling vertical sync has the disadvantage that it causes the visible image to "tear". There is a discontunity in the image shown on the screen where the computer starts drawing the lower part of the new frame while the top part of the old frame is still visible.
I usually see 100% CPU usage on my system while I'm running Celestia. Windows Task Manager shows slightly more than 50% because I have hyperthreading enabled, so XP thinks I have two CPUs, and there are other programs running in the background.
When I remove all Addons, disable antialiasing, and turn off *all* of Celestia's Render/ View Options except for Planets and Stars, with Celestia's window occupying the entire screen (except for the task bar), I get 60fps and Task Manager claims that CPU usage is only 15%. This is after a normal startup, with the Earth occupying most of Celestia's window.
Config:
1GB, 3.4MHz P4-550, WinXP Pro
128MB GF6600GT 16xPCI-e, ForceWare v84.21
1600x1200, 60Hz
Celestia v1.4.1 final & from CVS
Selden
I decided to test this on my machine for another POV. People might remember me complaining a while ago about me not finding any way to turn V-sync on. Eventually I found an option in my ATI Catalyst Center called "Wait for vertical refresh", which seems to have the desired effect. I turned off all of Celestia's render and view options (including stars and planets, 'cause my PC's a POS ). With "Wait for V-Refresh" off, I get 150+ fps. When I turn it on, I get 57-60 fps. Note that it's not stuck right at 60 fps. It does vary, for seemingly no reason. What's different between you and me Selden is that I have 100% CPU usage in both cases. Maybe this is because I'm using an ATI card and you're using an NVidia? Stats are in the sig.
AMD Athlon X2 4400+; 2GB OCZ Platinum RAM; 320GB SATA HDD; NVidia EVGA GeForce 7900GT KO, PCI-e, 512MB, ForceWare ver. 163.71; Razer Barracuda AC-1 7.1 Gaming Soundcard; Abit AN8 32X motherboard; 600 watt Kingwin Mach1 PSU; Windows XP Media Center SP2;
selden wrote:Johaen,
My impression is that many of the OpenGL features of the Radeon 9200 series of cards are implemented in software rather than hardware, so a better card, either ATI or Nvidia, probably would help.
Yeah, I know. Unfortunatly my mobo only has PCI slots .
But, I'm currently building a new PC from scratch, that will be waaaaaay better than my current one:
Black NZXT Apollo Case; Abit AN8 32X mobo; 600 watt Kingwin Mach1 PSU; AMD Athlon 64 X2 4400+; 2 GB of OCZ Platinum RAM; 320 GB HDD; NVidia 7900 GT, PCI-e, 512 MB;
I'll be buying the last parts for it with my next paycheck. I can't wait.
Edit: Added a few items for my amusement and for other's curiosity
Last edited by Johaen on 26.08.2006, 14:16, edited 3 times in total.
AMD Athlon X2 4400+; 2GB OCZ Platinum RAM; 320GB SATA HDD; NVidia EVGA GeForce 7900GT KO, PCI-e, 512MB, ForceWare ver. 163.71; Razer Barracuda AC-1 7.1 Gaming Soundcard; Abit AN8 32X motherboard; 600 watt Kingwin Mach1 PSU; Windows XP Media Center SP2;
Exactly, that's what I tried to explain...phoenix wrote:framerate and screen-refreshrate are 2 totally different things... don't mix them up.
... and therefore, the design of Celestia is too perfectionist, resulting in unnecesary CPU usage; because nobody needs 85, 75 or even 60 fps to perceive motion (i.e. no independent frames) just because the screen that is watching is configured to refresh 85, 75 or 60 times a second. (By the way, less refresh rate than 72 is unhealthy because of flickering and the higher the rate, the less eye strainer the screen.)selden wrote:Celestia recalculates the visibility and positions of all of the objects within the field of view each time it generates a new image to be displayed. That's the way it's designed.
The minumum fps for not perceiving frames but motion is 12, 24 is used to shoot cinema, TV is interlaced (50/~60 fields=25/~30 complete frames/s). If you have a 100/120 Hz TV you can watch programs at that rate, but this kind of TVs don't need 100 fps broadcasting: is compatible and good for your eyes. That's what I mean Celestia could do -- to calculate just necessary frames. This way you could take equal results with lower CPU, or best with the same, or watch more objects or add-ons, etc. More people would have a better experience or even use this great educational (and entertaining, the best combination) program.
I use Celestia 1.4.1 without add-ons in a 1GB, 3.2MHz P4, Win2K Pro SP4-DX9.0c & last patches, 256MB GF FX5200 AGP 8X & ForceWare 91.31 (Vertical Sync Application-controlled), 1024x768 85Hz. And my CPU is always at 100% (except when I browse the menus).
is curious.
If I only have in screen a planet or moon, I have a 50-60% CPU load (For example, now only have in entire screen the moon). Now, IF I have only stars CPU usage is only 15-20%. If CPU load are because celestia recalculate posstions... only for view one planet i have a great lose performance?
anyway cdlvcdlv, 12FPS for motion? 12FPS are very very poor. the human eye is capable about 25-30FPS. I think that aren't bad idea force celestia FPS to refresh rate, delete some problems.
If I only have in screen a planet or moon, I have a 50-60% CPU load (For example, now only have in entire screen the moon). Now, IF I have only stars CPU usage is only 15-20%. If CPU load are because celestia recalculate posstions... only for view one planet i have a great lose performance?
anyway cdlvcdlv, 12FPS for motion? 12FPS are very very poor. the human eye is capable about 25-30FPS. I think that aren't bad idea force celestia FPS to refresh rate, delete some problems.
Theliel,
It uses CPU time when looking at a planet because Celestia has to determine what objects are obscured by the planet -- stars, nebulae and galaxies, for example. If you turn off the stars while viewing the Earth, Celestia's CPU requirements will go down because then there are no stars for the Earth to obscure. Also, if you move away from the planet, so that its image is smaller and fewer stars are obscured, CPU usage will go down.
cdlvcdlv,
Different people have different optical abilities. For example, I'm one of those who cannot see any flicker at 60Hz, although apparently many people can.
Hopefully Celestia will include a frame rate throttle someday, but I suspect it won't happen soon.
It uses CPU time when looking at a planet because Celestia has to determine what objects are obscured by the planet -- stars, nebulae and galaxies, for example. If you turn off the stars while viewing the Earth, Celestia's CPU requirements will go down because then there are no stars for the Earth to obscure. Also, if you move away from the planet, so that its image is smaller and fewer stars are obscured, CPU usage will go down.
cdlvcdlv,
Different people have different optical abilities. For example, I'm one of those who cannot see any flicker at 60Hz, although apparently many people can.
Hopefully Celestia will include a frame rate throttle someday, but I suspect it won't happen soon.
Selden
Sorry Selden, view this screen:
All viewers options are disable, stars, galaxies... change renderer, change to low texture resolutions... but CPU load dont change nothing. My earth shouldn't obscured nothing!! same for moon... enable or disable star and other options, don't change my CPU load
For star and other objets, efects are very very differents:
All viewers options are disable, stars, galaxies... change renderer, change to low texture resolutions... but CPU load dont change nothing. My earth shouldn't obscured nothing!! same for moon... enable or disable star and other options, don't change my CPU load
For star and other objets, efects are very very differents:
My timings were all made with Celestia's default textures and models and with antialiasing disabled. Your screenshot shows a high resolution surface texture. My guess is that to make it look that good you also have antialiasing turned on. I suspect those factors may be contributing to the high apparent CPU load.
Selden
cdlvcdlv wrote: This way you could take equal results with lower CPU, or best with the same, or watch more objects or add-ons, etc. More people would have a better experience or even use this great educational (and entertaining, the best combination) program.
This is simply wrong. If you want to use as many addons as possible you will get to the point where fps goes below 15-20 .
Then it starts to get laggy and no fps-frame what else limiter helps you at that point to get more performance and fun out of celestia because at that point either your cpu or your gpu is at the limit.
Of course the vsync=on may help to save cpu-power( it will if your fps without adds is over monitor-refresh-rate) and do applications in the background but I wouldn??t have too many apps open while using celestia...
_______________________________________
Celestia 1.6.0 @1600x1200x32; GF8800Ultra; Q6600@3,2GHz;WinXPx64;
Celestia 1.6.0 @1600x1200x32; GF8800Ultra; Q6600@3,2GHz;WinXPx64;
selden wrote:My timings were all made with Celestia's default textures and models and with antialiasing disabled. Your screenshot shows a high resolution surface texture. My guess is that to make it look that good you also have antialiasing turned on. I suspect those factors may be contributing to the high apparent CPU load.
No.
I try now with fresh instalations, no addons, no AA, texture set to low... same.
BTW my PC is a good example for a system where the cpu is the bottleneck:
The framerate without AA and AF is the same like 4xAA and 16xAF.
With my tons of addons I only come over 85 fps if I leave the sun-surrounding (2 mill-star database addon) with vsync=on I have instantly around 80% CPU-load.
The framerate without AA and AF is the same like 4xAA and 16xAF.
With my tons of addons I only come over 85 fps if I leave the sun-surrounding (2 mill-star database addon) with vsync=on I have instantly around 80% CPU-load.
_______________________________________
Celestia 1.6.0 @1600x1200x32; GF8800Ultra; Q6600@3,2GHz;WinXPx64;
Celestia 1.6.0 @1600x1200x32; GF8800Ultra; Q6600@3,2GHz;WinXPx64;
Theliel,
You may be glad(?) to know that when I look at a view similar to yours, with the Earth larger than the viewport, I also get maximal CPU usage.
If you reduce the amount of screen area occupied by the Earth, CPU usage should fall off. On my system, when the apparent diameter of the Earth is less than about 48 degrees. with a screen fov of 40 degrees, I see about 38% usage, and it stays at that % even when there's nothing in view.
Interesting.
(But I really can't get too excited about it, so long as the fps stays over 20 for the things I want to look at )
You may be glad(?) to know that when I look at a view similar to yours, with the Earth larger than the viewport, I also get maximal CPU usage.
If you reduce the amount of screen area occupied by the Earth, CPU usage should fall off. On my system, when the apparent diameter of the Earth is less than about 48 degrees. with a screen fov of 40 degrees, I see about 38% usage, and it stays at that % even when there's nothing in view.
Interesting.
(But I really can't get too excited about it, so long as the fps stays over 20 for the things I want to look at )
Selden