La solucion a tu problema es utilizar la tecnica de double buffering:Ya habia visto esta tecnica. hay varias de hecho. La mas sencilla es retornar 0 en MFC en el onEraseBnGnd.
http://www.latindevelopers.com/vcpp/bitmap/doble-buffer/ (http://www.latindevelopers.com/vcpp/bitmap/doble-buffer/)
El ejemplo de la pagina utiliza MFC, es cuestion de acomodar el codigo para que puedas utilizarlo en tu aplicacion Win32 SDK.
pero ahora que funciona la captura de datos y la graficacion a la velocidad que quiero, y que solo me falta el redibujo estaba pensando en utilizar DirectX, pero no se si se pueda hacer... :rolleyes:ya que vas a graficar 2D Usa antigrain :