скриншот там делается с помощью вызова функции из сампа напрямую, а в сампе (что использует функцию IDirect3DDevice9::GetFrontBufferData, которая по умолчанию выполняется очень медленно, и не должна использоваться ни в одном критическом для производительности пути) это сделано плохо (а еще...