I am suffering from performance degradation when using GetCurrentPosition(). What can I do to improve performance?
Each GetCurrentPosition() call on each buffer causes a system call, and system calls should be minimized as they are a large component of DSound’s CPU footprint. On NT (Win2K and XP) the cursors in SW buffers (and HW buffers on some devices) move in 10ms increments, so calling GetCurrentPosition() every 10ms is ideal. Calling it more often than every 5ms will cause some performance degradation.