Using usleep() in an idle loop is a bad thing. It's even worse in an application that most of the time does exactly nothing.
This patch removes the usleep() and the XPending() check, which is not needed as the program does nothing but wait for X events, in which case XNextEvent() will block by itself. The DASetPixmap() is also not needed in the loop.
Without that patch, XScreenSaver.App...