Xvideo performance on Radeon 7500 vs Intel 915
Ken Mandelberg
km at mathcs.emory.edu
Sun Nov 26 16:00:45 PST 2006
Roland
Thanks for the info. Here is a little more data.
xine with -V xv
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32136 km 15 0 248m 69m 51m S 63.0 9.2 0:16.67 xine
3954 root 15 0 221m 107m 70m S 31.9 14.2 6:56.81 Xorg
xine with -V xshm
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32206 km 15 0 306m 105m 48m S 81.9 13.9 0:15.20 xine
3954 root 15 0 237m 99m 67m S 13.0 13.1 7:13.65 Xorg
xine with -V xxmc
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32291 km 15 0 223m 46m 28m S 53.6 6.1 0:25.60 xine
3954 root 16 0 197m 84m 46m R 28.3 11.1 7:37.75 Xorg
With xv and xshm there is 0 idle. With xxmc there is about 15% idle, but
in all three cases it drops frames (xshm is the worst).
As far as I can from Xorg.0.log DRI is active. Here are some of the
possibly relevant log entries.
(II) Loading extension XFree86-DRI
..
(II) RADEON(0): [dri] Found DRI library version 1.2.0 and kernel module
version 1.25.0
(II) RADEON(0): AGP Fast Write disabled by default
(==) RADEON(0): Page Flipping disabled
(II) RADEON(0): Will try to use DMA for Xv image transfers
(II) RADEON(0): Detected total video RAM=32768K, accessible=65536K (PCI
BAR=131072K)
(--) RADEON(0): Mapped VideoRAM: 32768 kByte (64 bit DDR SDRAM)
..
(II) RADEON(0): [dri] Visual configs initialized
(**) RADEON(0): DRI New memory map param
(**) RADEON(0): RADEONInitMemoryMap() :
(**) RADEON(0): mem_size : 0x04000000
(**) RADEON(0): MC_FB_LOCATION : 0xe3ffe000
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
...
(**) RADEON(0): Initializing backing store
(==) RADEON(0): Backing store disabled
(**) RADEON(0): DRI Finishing init !
(II) RADEON(0): X context handle = 0x1
(II) RADEON(0): [drm] installed DRM signal handler
(II) RADEON(0): [DRI] installation complete
...
(WW) RADEON(0): DRI init changed memory map, adjusting ...
(WW) RADEON(0): MC_FB_LOCATION was: 0xe3ffe000 is: 0xe3ffe000
(WW) RADEON(0): MC_AGP_LOCATION was: 0xffffffc0 is: 0xe87fe800
(**) RADEON(0): GRPH_BUFFER_CNTL from 200e5c5c to 20105c5c
(II) RADEON(0): Direct rendering enabled
(**) RADEON(0): Setting up final surfaces
(**) RADEON(0): Initializing Acceleration
(II) RADEON(0): Render acceleration enabled
As far a system ram its 333mhz DDR2.
By the way I'm using your pre-downscale patch to get around the 1536
pixel scaling limitation (pink bar). The quality seems ok (at least on
the notebook lcd), and I saw the HD performance problem without it.
Also, I tried moving down to 16 bit depth from 24 and didn't see a
difference.
Any other ideas, or is this hardware combination just not up to lossless
HD display.
..
Roland Scheidegger wrote:
> Ken Mandelberg wrote:
>> I have two laptops. One is a 2GHZ Pentium M with an Intel 915GM , and
>> the other is a 2GHZ Pentium 4 Mobile with a Radeon 7500 Mobility.
>>
>> HD Mpeg2 playback with xine/vlc/mplayer using the xv extension takes
>> about 60% of the CPU on the Intel 915 laptop, with only a small amount
>> showing in the X server itself.
>>
>> On the Radeon laptop, the cpu is at 100% with some frame dropping, and
>> the X server shows about 30% if this.
>>
>> The distributions are a bit different, I have Suse 10.1 on the Intel
>> and Ubuntu Edgy on the Radeon.
>>
>> On the surface it seems like the Radeon driver must be doing in
>> software what the Intel is doing in hardware (scaling).
>>
>> Is there anything I can do to improve things on the Radeon, or is this
>> a hardware limitation.
> First, a P4 is a much slower cpu than a p-m (per clock). So you should
> see higher cpu utilization. However, 30% of the time spent in the xorg
> server seems a bit high. As long as you're using xv and are not dropping
> back to plain x11 video output (as mplayer calls it) for whatever
> reason, the graphic chip will always do the yuv->rgb conversion and
> scaling.
> Make sure that dri is enabled - I think the data upload gets very slow
> if the driver isn't using cp accel (which it only does if dri is
> enabled). It's possible dri got disabled if you don't have enough video
> ram (decrease bit depth or resolution in this case - if you don't need
> 3d you could probably also use the noBackBuffer option).
> Otherwise, the radeon driver is a bit suboptimal as it does not use the
> chips native planar yuv capabilities - the data gets converted to packed
> yuv for whatever reason (some day I should finish a patch which avoids
> that...). I wouldn't expect that to have that much of a performance
> impact however, it's just copying some data around which shouldn't be
> too much of a problem for a p4 (as it has enough memory bandwidth,
> unless it's some really lame p4 notebook using sdr sdram).
>
> Roland
More information about the xorg
mailing list