SOLVED: TouchEngine-UE sync mode "Synchronized Start"

Hello,

please may I ask what do you think about adding one more sync mode to TouchEngine-UE which would concentrate on setups that just need to pass data into TouchEngine on start of every frame (without the need to wait for outputs from TouchEngine)?

I am working on a project that renders AR graphics within UE and my goal is to reliably pass this texture into TE (TE handles all video IO and compositing of the AR graphics with camera feed). Outputs from TE don’t need to be processed synchronously on the same frame in my case - everything important happens within TE process and then it just outputs some data which could be processed later in non-synchronous way.

I can’t use Independent sync mode as I need to guarantee that every frame from UE gets sent to TE for processing without variable delay. However when I use Synchronized sync mode, TE blocks UE for too long, making it quite hard for me to hit target frame rate (50fps).

Therefore I was thinking of a mode that would guarantee “Synchronized Start” of TE, but then wouldn’t block UE in terms of progressing through rest of its game thread. This way could UE do the rest of its work while TE is doing processing in the background. On the next UE’s frame - when it is time to start cook of next TE frame - it would block until cooking of previous TE frame isn’t complete (in case the previous TE frame would still be cooking).

Please let me know what you think about this. Maybe I am completely wrong, its just that while looking at traces of my project I felt like this could really help me get closer to target frame rate. In case you might think if would be a good idea, I would love to “throw” my Pro Support hours at it (or even buy more), as I have a really hard time fighting frame rates on this project. Thank you very much.

Ugh, I have realized that I have completely misunderstood sync modes available in TouchEngine-UE. While reading the docs on sync modes, I have misinterpreted the way things are supposed to work under the hood… After diving deeper into the plugin, I feel like its sync modes are implemented in a best possible way. Therefore the problem I am encountering probably doesn’t lie in sync modes but somewhere else.