Open DaAwesomeP opened 1 year ago
An example/test to reproduce the latency issue may be found here: https://github.com/DaAwesomeP/ola/commit/7c7ca32a627b4a6f7a42f507879bee152242607c
I may open a pull to add this example in the future.
OK, I have updated the example to allow you to test StreamingClient
and OlaClientWrapper
side by side with the -a
flag. The difference in delay between the two APIs is confirmed: https://github.com/DaAwesomeP/ola/commit/2140930eeea4d08d62cea937852dcb1c9b69c8b6
@DaAwesomeP do you think you'd have time to open a PR to get the initial speed-up fix into 0.10 branch for our upcoming release?
@peternewman What's the deadline? I won't have any time until later this week and early next week.
I'm not really sure @DaAwesomeP . I've asked in #1792 but not had clarification yet. I suspect that sort of timescale should be okay, I've still got a bit of faffing to do for some final bits too.
Given the main speedup will be in 0.10.9, I've pushed any possible further improvements onto the next (or a future) release.
Hello!
This is a continuation of the discussion here: https://groups.google.com/g/open-lighting/c/6yBsDBnpANU
There are two related issues:
StreamingClient::SendDMX()
contains a delay in the form ofm_ss->RunOnce()
: https://github.com/OpenLightingProject/ola/blob/9604d481c2787bbb6a36141312d28157f18bc0ea/ola/StreamingClient.cpp#L141-L168m_ss->RunOnce()
only once and then send multiple universes after that would solve this issue.m_ss->RunOnce()
to prevent a race is made unclear by the fact that the corresponding API forOlaClientCore::SendDMX()
(called byOlaClient::SendDMX()
) does not make the same call tom_ss->RunOnce()
: https://github.com/OpenLightingProject/ola/blob/9604d481c2787bbb6a36141312d28157f18bc0ea/ola/OlaClientCore.cpp#L469-L496m_stub->StreamDmxData()
as found inStreamingClient
but without callingRunOnce()
.void
and not abool
, but it is still able to check if the socket is open prior to callingm_stub->StreamDmxData()
by checkingm_connected
.cc @nomis52 @peternewman