In the DX demo, each time a FPCN_UPDATE_RECT is recieved, a FPCM_GET_FRAME_BITMAP is sent to retrieve a bitmap of the entire frame.
Wouldn't it be faster if only the bits that needed updating were rendered and retrieved? (I see that the rect that needs updating is already present in (SFPCNUpdateRect*)pNMHDR.)