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