in case you haven't read ASIO4ALL changelog. it has some helpful experience with KS DMA (since ASIO4ALL is built around KS).
http://tippach.business.t-online.de/asi ... story.html
1.0 (Final) year 2004
"Added Direct DMA Buffer I/O for devices that support it. This mode is very soft on the CPU and latencies can be achieved that are equal to the values one gets with pro gear...."
"In order to understand why this works on some systems and on others it does not, one needs to know that WDM audio drivers come in two flavors: WaveCyclic and WavePci. We only have a chance with WavePci, because these drivers do not actually copy audio data from our buffer but rather make the buffer we submit to them their current DMA buffer. But we still know where our buffers are, even after we submitted them to the WDM audio driver, right? Thus, when writing to the buffer currently being played, we are writing directly to the DMA buffer! The tricky bit is to figure out where exactly to write and how to keep things in sync."
" Unfortunately, most consumer grade stuff comes with WaveCyclic type drivers only, it seems."
http://tippach.business.t-online.de/asi ... story.html
Q: Any hints on using ASIO4ALL with USB devices?
A: After some initial troubles with earlier revisions, the driver now appears to work just fine with numerous USB devices.
one thing to not do, I mean: not ever! is to check the DMA box with USB devices. If you do not need all the additional software gizmos like EAX, EQ, Fake3D-Whatever... it is recommended that you _not_ install the drivers shipped with your USB audio interface. Windows has a built-in generic USB audio driver that works with most devices. Thus, if you want to have honest, no-nonsense, low-latency audio playback/recording with your USB audio interface - by all means: stick with the Windows driver! This is especially true for consumer grade stuff, where you can be assured that the drivers shipped with it are most likely 'consumer grade' as well.