[mythtv-users] X high cpu usage

jim.herold at comcast.net jim.herold at comcast.net
Wed Dec 13 22:43:01 UTC 2006


I'm running Myth .20 (the official release, not SVN) compiled from source on OpenSuSE 10.1.  It's on an Asus A8N-VM CSM with an Athlon 64 X2 3800+.  I'm outputting to a Sharp LCD via DVI to HDMI cable.  Audio is ALSA via SPDIF to my surround sound receiver.  I've got both a pcHDTV-3000 and a PVR350 in it.  I'm not using XvMC, as I had it working but had tearing of the output with 1080i content.

All seems well, except anytime I'm watching anything X shows > 98% CPU usage.  It doesn't matter whether it's SD , 720P, or 1080i.  It's the same whether it's recorded content from either tuner, or a DVD.

So, I've tried a number of versions of the nVidia drivers.  I've tried switching the Sync method (normally I use OpenGL, but tried RTC just to see if it'd make a difference).  I tried adding noapic to the Kernel boot parameters (read somewhere that someone fixed high CPU utilization that way).  I've recompiled with and without the --enable-proc-opt option.

I've searched the Inet, and Myth lists, but found nothing helpful.  I see other places where people mention this behavior but no solutions.  Seems everyone agrees it shouldn't happen though.

Here's what playback logging looks like when starting livetv.  What does the "Refresh rate: 16646, frame interval: 16683" mean?  I've tried tweaking my modeline but it doesn't seem to affect what this reports as the "Refresh rate".

2006-12-13 15:59:00.372 TV: Attempting to change from None to WatchingLiveTV
2006-12-13 15:59:00.391 Using protocol version 30
2006-12-13 15:59:00.995 LiveTVChain(live-mythtv-2006-12-13T15:59:00): ReloadAll(): Added new recording
2006-12-13 15:59:00.999 TV: StartRecorder(): took 1 ms to start recorder.
2006-12-13 15:59:01.194 detectInterlace(Ignore Scan, Interlaced Scan, 25, 576) ->Interlaced Scan
2006-12-13 15:59:01.195 NVP: Disabling Audio, params(-1,2,44100)
2006-12-13 15:59:01.205 VideoOutputXv: ctor
2006-12-13 15:59:01.206 Over/underscan. V: 0, H: 0, XOff: 0, YOff: 0
2006-12-13 15:59:01.206 Display Rect  left: 0, top: 0, width: 1280, height: 720, aspect: 1.33333
2006-12-13 15:59:01.206 Video Rect    left: 0, top: 0, width: 720, height: 576, aspect: 1.33333
2006-12-13 15:59:01.206 VideoOutputXv: Pixel dimensions: Screen 1280x720, window 1280x720
2006-12-13 15:59:01.207 VideoOutputXv: Estimated display dimensions: 325x183 mm  Aspect: 1.77596
2006-12-13 15:59:01.207 VideoOutputXv: Estimated window dimensions: 325x183 mm  Aspect: 1.77596
2006-12-13 15:59:01.208 VideoOutputXv: XvMCTex: Init failed
2006-12-13 15:59:01.208 VideoOutputXv: @ j=3 Looking for flag[s]: XvInputMask XvImageMask
2006-12-13 15:59:01.208 VideoOutputXv: Adaptor#0: video4linux has flag[s]: XvInputMask XvVideoMask
2006-12-13 15:59:01.208 VideoOutputXv: Adaptor#1: NV17 Video Texture has flag[s]: XvInputMask XvImageMask
2006-12-13 15:59:01.210 VideoOutputXv: Grabbed xv port 276
2006-12-13 15:59:01.210 VideoOutputXv: XVideo surface found on port 276
2006-12-13 15:59:01.210 VideoOutputXv: XVideo Adaptor Name: 'NV17 Video Texture'
2006-12-13 15:59:01.210 VideoOutputXv: XVideo Format #0 is 'YUY2'
2006-12-13 15:59:01.210 VideoOutputXv: XVideo Format #1 is 'YV12'
2006-12-13 15:59:01.210 VideoOutputXv: XVideo Format #2 is 'UYVY'
2006-12-13 15:59:01.210 VideoOutputXv: XVideo Format #3 is 'I420'
2006-12-13 15:59:01.210 VideoOutputXv: Using XVideo Format 'I420'
2006-12-13 15:59:01.210 VideoOutputXv: CreateShmImages(32): video_dim: 720x576
X Error: BadMatch (invalid parameter attributes) 8
  Major opcode:  142
  Minor opcode:  14
  Resource id:  0x180
2006-12-13 15:59:01.258 VideoOutputXv: Chromakeying not possible with this XVideo port.
2006-12-13 15:59:01.258 Display Rect  left: 160, top: 0, width: 960, height: 720, aspect: 1.77778
2006-12-13 15:59:01.258 Video Rect    left: 0, top: 0, width: 720, height: 576, aspect: 1.33333
2006-12-13 15:59:01.683 OSDTypePositionImage::AddPosition[0](114x263  1, 1)
2006-12-13 15:59:01.683 OSDTypePositionImage::AddPosition[1](114x293  1, 1)
2006-12-13 15:59:01.684 OSDTypePositionImage::AddPosition[2](114x323  1, 1)
2006-12-13 15:59:01.684 OSDTypePositionImage::AddPosition[3](114x353  1, 1)
2006-12-13 15:59:03.055 NVP: ClearAfterSeek(1)
2006-12-13 15:59:03.056 VideoOutputXv: ClearAfterSeek()
2006-12-13 15:59:03.056 VideoOutputXv: DiscardFrames(0)
2006-12-13 15:59:03.056 VideoBuffers::DiscardFrames(0): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2006-12-13 15:59:03.056 VideoBuffers::DiscardFrames(0): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done
2006-12-13 15:59:03.056 VideoOutputXv: DiscardFrames() 3: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done()
2006-12-13 15:59:03.056 TV: StartPlayer(): took 1862 ms to start player.
2006-12-13 15:59:03.056 TV: Changing from None to WatchingLiveTV
2006-12-13 15:59:03.070 Using realtime priority.
2006-12-13 15:59:03.072 rate: 25 speed: 1 skip: 1 = interval 40000
2006-12-13 15:59:03.103 LiveTVChain(live-mythtv-2006-12-13T15:59:00): ReloadAll(): Added new recording
2006-12-13 15:59:03.111 LiveTVChain(live-mythtv-2006-12-13T15:59:00): SwitchTo(1)
2006-12-13 15:59:03.111 LiveTVChain(live-mythtv-2006-12-13T15:59:00): Entry at 1: '2071_20061213155902'
2006-12-13 15:59:03.111 JumpToProgram(void)
2006-12-13 15:59:03.121 RingBuf(/home/mythtv/video/2071_20061213155900.mpg): OpenFile(myth://127.0.0.1:6543/2071_20061213155902.mpg, 12)
2006-12-13 15:59:03.122 RingBuf(/home/mythtv/video/2071_20061213155902.mpg): CalcReadAheadThresh(4000 KB)
                         -> threshhold(146 KB) min read(32 KB) blk size(64 KB)
2006-12-13 15:59:03.269 AFD: Stream #0, has id 0x49 codec id MPEG2VIDEO, type Video, bitrate 80000000 at 0x0x2aeabf0
2006-12-13 15:59:03.459 Using deinterlace method bobdeint
2006-12-13 15:59:03.463 VideoOutputXv: InputChanged(1280,720,1.77778)
2006-12-13 15:59:03.463 VideoOutputXv: DiscardFrames(1)
2006-12-13 15:59:03.463 VideoBuffers::DiscardFrames(1): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2006-12-13 15:59:03.463 VideoBuffers::DiscardFrames(): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done()
2006-12-13 15:59:03.463 VideoBuffers::DiscardFrames(1): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done
2006-12-13 15:59:03.463 VideoOutputXv: DiscardFrames() 3: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done()
2006-12-13 15:59:03.463 VideoOutputXv: DiscardFrames(1)
2006-12-13 15:59:03.463 VideoBuffers::DiscardFrames(1): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2006-12-13 15:59:03.463 VideoBuffers::DiscardFrames(): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done()
2006-12-13 15:59:03.464 VideoBuffers::DiscardFrames(1): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done
2006-12-13 15:59:03.464 VideoOutputXv: DiscardFrames() 3: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -- done()
2006-12-13 15:59:03.464 VideoOutputXv: DiscardFrames(1)
  Minor opcode:  14
  Resource id:  0x180
2006-12-13 15:59:03.621 VideoOutputXv: Chromakeying not possible with this XVideo port.
2006-12-13 15:59:03.621 Snapping height to avoid scaling: height: 720, top: 0   2006-12-13 15:59:03.621 Snapping width to avoid scaling: width: 1280, left: 0
2006-12-13 15:59:03.621 Display Rect  left: 0, top: 0, width: 1280, height: 720, aspect: 1.77778
2006-12-13 15:59:03.621 Video Rect    left: 0, top: 0, width: 1280, height: 720, aspect: 1.77778                                                                2006-12-13 15:59:03.623 Using deinterlace method onefield                       2006-12-13 15:59:03.632 Using audio as timebase
2006-12-13 15:59:03.632 Video timing method: SGI OpenGL
2006-12-13 15:59:03.632 Refresh rate: 16646, frame interval: 16683
2006-12-13 15:59:03.643 NVP: Waiting for prebuffer.. 0 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                                                                          2006-12-13 15:59:04.008 NVP: ClearAfterSeek(1)
2006-12-13 15:59:04.008 VideoOutputXv: ClearAfterSeek()
2006-12-13 15:59:04.009 VideoOutputXv: DiscardFrames(0)
2006-12-13 15:59:04.097 Set video sync frame interval to 16683
2006-12-13 15:59:04.097 NVP: Stretch Factor 1, allow passthru
2006-12-13 15:59:04.097 Resyncing position map. posmapStarted = 0 livetv(1) watchingRec(1)
2006-12-13 15:59:04.098 Position map filled from DB to: 0
2006-12-13 15:59:04.098 SyncPositionMap watchingrecording, from DB: 1 entries
2006-12-13 15:59:04.099 Filling position map from 1 to 59                       2006-12-13 15:59:04.099 Position map filled from Encoder to: 30
2006-12-13 15:59:04.099 SyncPositionMap watchingrecording total: 2 entries
2006-12-13 15:59:04.145 NVP: Waiting for prebuffer.. 2 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2006-12-13 15:59:04.228 NVP: Waiting for prebuffer.. 3 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2006-12-13 15:59:04.312 NVP: Waiting for prebuffer.. 4 uLuAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2006-12-13 15:59:04.396 NVP: Waiting for prebuffer.. 5 uLuAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Thanks,
Jim H.


More information about the mythtv-users mailing list