Details
-
Task
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
As shown in the following change, much of our current input latency is caused by sending input data from the backend jobs that gather events to the frontend objects:
https://codereview.qt-project.org/#/c/224872/
A way to get around this is to move all input processing to the frontend. We can either immediately update the input values as events arrive or gather them and process them once per frame. This task is added to discuss this option.
Here are a few key points that I would like to discuss:
1) Is input processing useful to do on the backend for performance reasons? For which use cases is it useful to unload this work from the frontend?
2) Is it possible that the overhead introduced in communicating input data from backend to frontend is larger than the cost of processing the events?
3) Are there any other aspects that are currently dependent on having input processing happening on the backend? Can we think of any cases where this would be useful?
4) If we move processing to the frontend, do we have a mechanism for gathering all changes and processing them just in time to have the changes rendered the next frame?
Any thoughts, seanharmer, lemire_p, mkrus, or others?