Idle CPU usage related to OpenGL driver?
#1
I have been running XBMC on three different machines:

1. Main PC - Intel 8400, Geforce 8800 GT (OpenGL 2.1.2) 1920x1200 (LCD monitor)
2. HTPC - Celeron 1300, Geforce 5200 (OpenGL 2.01) 800x600 (TV screen)
3. HTPC to be: Scaleo E (beautiful barebone) P4 2.8, intel 915G (OpenGL 1.4) 800x600 (TV screen)

These are the idle CPU usages (XBMC just started, not configured, main screen):

1. 5-30%
2. 67-100%
3. 100% constantly

I know the last PC just barely meets the OpenGL requirements, but otherwise plays content just fine and as stated in other topics, when playing video content (Xvids mostly) the CPU usage drops to 2-10%.

Of course, I have read the forums on CPU usage closely, but haven't read a conclusive answer as to what XBMC might be doing in idle mode that would account for such an enormous CPU usage.

Furthermore it wouldn't be such of a problem because (nearly) everything else is working fine, but the Scaleo CPU is passively cooled and is getting bloody hot just from XBMC's GUI doing nothing.
Reply
#2
I'm runing a amd 3000+ with radeon 9200SE

its my desk top I've not got a HTPC yetSad but i see no adverse cpu usage and that card is only open GL 1.3 perhaps its a bug with open GL 1.4 or the cpu
Reply
#3
The frame rate in gui mode isn't limited afaik (or due to vsync?). So XBMC is like a really simple game engine and renders as many fps as it can. Limiting XBMC in gui mode to 25 fps or similar should be enough to reduce CPU usage or what do the other DEVs think?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#4
xbmc is basically running in a loop. this is because of its roots as an xbox application. at every single iteration of the loop, its doing practically everything. its getting all the information for the skin elements from the info manager and rendering all textures to the screen, 60 times a second. and its mostly running in a single thread. (i believe the only threaded items are the ancilliary functions such as scanning, and thumb caching.)
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#5
Some update:

Initially all 3 PC's are doing 60 FPS (that's because Vsync is enabled)

I've been tinkering with the screen settings, especially with the Vsync settings. When staying is the "Screen setting" screen I was going from "Enabled" to "Disabled" and finaly to "Enabled during Video Playback" dropped the CPU usage on the 3rd PC noticeably from a whopping 100 to an average of 35% doing 95 FPS!

Sadly, when restarting XBMC it would go back to a 100% Huh

@kraqh3d

I can account for XBMC doing some or major internal routines and doing so in a single thread, but still that cannot justify a 100% CPU usage.

The only other way I get 100% CPU usage constantly is when a program hangs doing something it shouldn't do.
Reply
#6
xbmc is in no way optimized for use on a general purpose computing platform. its as simple as that.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#7
But isn't this forum all about filtering out those inconsistencies and working towards the greatest piece of Home Theatre Software ever made?
Reply
#8
It's quite possibly due to a graphics driver that has a busy sleep mode during vsync.

Note that XBMC uses approximately 5% CPU on xbox, so there's nothing inherent in the code that's causing high CPU usage - it's practically guaranteed to be a busy sleep.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#9
Quote:But isn't this forum all about filtering out those inconsistencies and working towards the greatest piece of Home Theatre Software ever made?
of course, but you have to accept where it is now, and bear with it in the meantime. and if xbmc doesn't meet your expections now, don't use it.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#10
kraqh3d Wrote:of course, but you have to accept where it is now, and bear with it in the meantime. and if xbmc doesn't meet your expections now, don't use it.

Sorry, you get me all wrong. It's never been my intend to flame XMBC. I think it's the best among competitors. And believe me, I have been around to have tried them all.

Just trying to filter out imperfections that are currently at hand.
Reply
#11
Anyway.....back to the problem. Isn't its strange that changing the Vsync settings whilst staying in the settings screen can drop CPU usage by 2/3rd and when restarting nothing changes?
Reply
#12
DragonFly Wrote:Anyway.....back to the problem. Isn't its strange that changing the Vsync settings whilst staying in the settings screen can drop CPU usage by 2/3rd and when restarting nothing changes?

See http://trac.xbmc.org/ticket/4462 and http://trac.xbmc.org/ticket/4382 for more information.
Reply
#13
Thanks, Goofy2

Odd thing is, it seems to be ATI related, but I have 2 nvidia and one Intel IGP
Reply
#14
so you disabled vsync in the gui, and the processor utilization dropped, but then when you restarted (vsync still disabled) it was back up at the near 100% mark as-if vsync was not disabled? i'm curious, does it drop again if you toggle it on and off?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#15
Reproduced the events on a clean XP SP3 install. For testing purposes XP screen is set for 800x600 and XBMC is always started from the .exe (not via shortcut) so userdata will be created in XBMC's path.

01. Clean install. XBMC starts in windowed mode (settings say "Auto")
02. Enabled "Enable Debug Logging"
03. CPU Usage is around 25%
04. Vsync is default: "Always enabled"

05. Set resolution to 800x600 (fullscreen)
06. Restart XBMC. Screen shows a constant 100% CPU usage
07. Goto screen Settings -> One click on Vsync's UP button
08. "Vsync Disabled" -> CPU goes down to 35%

09. Restart XBMC. Screen shows again a constant 100% CPU usage
10. Same as above but now "Enabled during Video Playback"
11. CPU goes down to 35% and back to a 100% when restarted

Whilst in the settings screen only, changing back to "Enabled" causes the CPU to increase from 35 to 100. The other settings will remain around 35

Various setting are saved in the "guisettings.xml" (0,1,2)

Logfile: http://www.pastebin.ca/1186502
Reply

Logout Mark Read Team Forum Stats Members Help
Idle CPU usage related to OpenGL driver?0