in my last post I talked about improving the touch driver by replacing the timer (SYSINTR_TOUCH_CHANGED) with a Sleep(). Today I want to point out another touch driver improvement.
When using the touch screen the CPU utilization increases dramatically, this of course results in a much worse system performance. After some research and some measurements you will find, that the increase in CPU utilization is mainly caused by busy waits which are used frequently throughout the touch driver (e.g. XllpOstDelayMicroSeconds() in Mainstone BSPs).
Replacing the busy waits with Sleep() will solve this problem while still keeping your touch driver responsive enough.
3 weeks ago