Place sensor fusion and EFIS redrawing into highest priority (and separate if not already?) thread.
The behavior seen in #67 (comment 581954268), where user interactions trigger the EFIS to freeze or even crashes points toward the subtle but serious problem of real-time jitter. Users won't want their interactions to interfere with the core EFIS functionality, so the EFIS sensor integration and repainting need to be done in a high-priority synchronous thread and user interactions should run asynchronously.
An even more subtle bug which arises from timing jitter is that the sensor integrations are possibly wrong, leading to delayed AND erroneous readings in the EFIS attitude indicator.
Edited by Kenn Sebesta