It can be a hair more efficient, since there is nothing to repaint.
When this member is NULL, an application must paint its own background whenever it is requested to paint in its client area. To determine whether the background must be painted, an application can either process the WM_ERASEBKGND message or test the fErase member of the PAINTSTRUCT structure filled by the BeginPaint function.
thanks a lot, i find it's the problem of WM_PAINT
but why in almost every example, direct2d always renders in WM_PAINT and direct3d renders when no message processing