I saw that all the examples only use the TTimer for measuring the framerate while the application basicly runs at full speed without a process loop at all. So I specified an onTimer and onProcess event (after I found out that the procedures need TTimerevents to work) and I wanted to move the rendering part to the onTimer loop as it always has been in Asphyre or PXL. But that didnt really work. I had to leave the render stuff within the ApplicationOnIdle procedure and the onTimer event only has 1 line "ftimer.process". (Tested the process loop with a counter and that works with the correct speed)
To my surprise this already limited the maximum framerate as it should (I set it to 120) even though the rendercall happens in the ApplicationOnIdle prod. Is this now the correct way of using the timer? So what the MaxFramerate property does is keeping the application busy (non idle) and when it let go the OnIdle event kicks in to render a frame until the Ftimer.execute call?
To my surprise this already limited the maximum framerate as it should (I set it to 120) even though the rendercall happens in the ApplicationOnIdle prod. Is this now the correct way of using the timer? So what the MaxFramerate property does is keeping the application busy (non idle) and when it let go the OnIdle event kicks in to render a frame until the Ftimer.execute call?
Comment