You are messing something up there:
UI Refreshing has nothing to do with DX Flip and Draw!
UI Refresh just takes care that the content of the graphics stuff is visible at all. If you do not refresh it, it is just not there anymore, point.
If you want to free cpu cycles, just make sure you use flip 0 and use timed flipping (ie at a constant rate of 60 or 100 FPS)
This gives you a few hundred tousand mainloop runs per second which should be enough :)
And as mentioned: Unless you have maxgui and use a window + a canvas, there is no window redraw message.
As there are 2 events that needed to be handled for canvas to be redrawn (both have nothing to do with flip)
and users would have to do this manually if it were not handled automatically.
(PS: flip on repaint is no solution to solve tearing, performance stuff and the like as a repaint for the desktop does not take the same time as a 3d rendering and backbuffer chain flip which is what flip is. Flip is not, as in Blitz3D, just a flip. It includes renderworld as well)
UI Refreshing has nothing to do with DX Flip and Draw!
UI Refresh just takes care that the content of the graphics stuff is visible at all. If you do not refresh it, it is just not there anymore, point.
If you want to free cpu cycles, just make sure you use flip 0 and use timed flipping (ie at a constant rate of 60 or 100 FPS)
This gives you a few hundred tousand mainloop runs per second which should be enough :)
And as mentioned: Unless you have maxgui and use a window + a canvas, there is no window redraw message.
As there are 2 events that needed to be handled for canvas to be redrawn (both have nothing to do with flip)
and users would have to do this manually if it were not handled automatically.
(PS: flip on repaint is no solution to solve tearing, performance stuff and the like as a repaint for the desktop does not take the same time as a 3d rendering and backbuffer chain flip which is what flip is. Flip is not, as in Blitz3D, just a flip. It includes renderworld as well)