- 05/09/2019 at 02:15 #11974
I’d like to use the Python for .NET module (pythonnet) to call into the Core SDK managed DLLs and subscribe Python functions to receive gaze point updates. I have this basically working, except that the gaze updates can get behind, apparently because the thread which handles them may not get scheduled (I’ve also seen it play catch up after getting behind). Can you shed some light on what’s going on behind the scenes here with respect to threading? Is there some way I can manually pump the event loop to regularly process new gaze points?
James05/09/2019 at 11:04 #11976
Hi @wolfmanstout and thanks for your query. Unfortunately, it is a violation of the Tobii Core SDK licence agreement to create third party API to access the eye-tracking data, as specified in:
Section 2 - Licence 2.1 iii) Your Software may not expose an API which exposes Eye Tracking Data.
You can view the full licence agreement @ http://developer.tobii.com/?wpdmdl=203
Accordingly, I am afraid we cannot in this instance provide official support for your request. Indeed, because the use of additional API is not supported or tested, we cannot guarantee proper eye tracking reliability which forms part of the rationale behind this limitation.
Apologies for any inconvenience and thanks for your understanding.05/09/2019 at 23:28 #11977
I’m not planning to expose an API by this mechanism. My goal is end-user facing functionality that is well within the license agreement, based on my read. I would understand if calling the Core SDK through Python is _unsupported_, but I don’t see that it’s any violation of the license agreement. To that end, even if calling through Python is unsupported, I would still like to request more information about the threading model of these callbacks, i.e. which thread or threads can trigger them, and if there is any way to manually pump them. I think this is information that would be valuable to any typical .NET client.09/09/2019 at 11:03 #11980
Hi @wolfmanstout, in general threads are worker threads but if you are using WPF some threads will be end up on the UI thread. However, you should not be experiencing any significant delay in receiving gaze data unless the CPU is under heavy load your own app is obstructing the threading environment so its worth checking the system resources and load during run time. Unfortunately there is no current methodology for manual pumping.
Overall however, the Core SDK is not designed for the task you are trying to implement. The Tobii Stream Engine has a far reduced footprint which may provide you better performance, but again please bear in mind that the creation of an API that exposes eye gaze data is expressly prohibited by the SDK licence agreement.
You must be logged in to reply to this topic.