Added pollidle handling for INKEY (OS_Byte 129)
Detail: Taskwindow sits of BYTEV and waits for n*2 Vsyncs when INKEY(n) is called. This isn't quite correct as VSyncs aren't a reliable timing source, however, leaving that aside for the moment, what Taskwindow was doing was sitting on Null events until it read that enough Vsyncs had passed, thus eating up CPU time. The new behaviour is to call Wimp_PollIdle instead, which should also correct the amount of time waited for. This behaviour can be toggled with the build switch PollIdleHandling. Admin: Lightly tested on a RPC. Using AppStat, no call were made to the taskwindow during and INKEY, whereas they were previously. Version 0.66. Tagged as 'TaskWindow-0_66'
Showing
Please register or sign in to comment