On Don, 2003-02-20 at 22:32, Reinoud wrote:
>
> I'm running into performance troubles with an app I'm building
> because - apparently - the XFree server uses the CPU rather than DMA
> to transfer images from system to video memory. I'd like to transfer
> a 3MB image to the video card every 20ms (yet be able to use the CPU
> for other purposes too, thank you;). This turns out to be a problem.
>
> People have suggested to use OpenGL to get DMA transfers to video
> memory, which sounds like good advice, but I'm having a hard time
> believing there's no Xserver / video card combination that supports
> DMA for the usual 2D operations! Are there any?
The radeon driver uses DMA (indirect CP buffers) for ImageWrites, but it
still has to copy stuff around in memory, so it could be tight:
[EMAIL PROTECTED]> x11perf -shmput500 -repeat 1
x11perf - X11 performance program, version 1.5
The XFree86 Project, Inc server version 40299002 on :0.0
from thor
Sat Feb 22 16:43:27 2003
Sync time adjustment is 0.0501 msecs.
800 reps @ 6.8502 msec ( 146.0/sec): ShmPutImage 500x500 square
This is at 32 bpp so that would be 146 million bytes per second if I'm
not mistaken. You might be able to do something else with the CPU while
the DMA engine is working though, and there might be some room to
optimize this using the DRM texture upload ioctl or direct blits from
the AGP aperture.
> Finally, if OpenGL really is the way to go, which video card / X
> server do you think would work best? Note that this is for an
> 'embedded' app, I get to choose the hardware, so any hardware/Xserver
> combo that does the job will do.
There's even a non-X embedded radeon 3D driver in development in Mesa
CVS.
--
Earthling Michel D�nzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member / CS student, Free Software enthusiast
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel