FloorWM01.exe GetMessage 0 %
FloorWM02.exe PeekMessage 7-8 %
My proggy with your Floor Routine uses 0.5 % with PeekMessage + vertical blank.
This is my Message Pump:
.while msg.message != WM_QUIT
invoke PeekMessage,addr msg,NULL,0,0, PM_REMOVE
.if (eax)
invoke TranslateMessage,addr msg
invoke DispatchMessage,addr msg
.endif
invoke RenderGDI ; do the rendering stuff
.endw