-
Notifications
You must be signed in to change notification settings - Fork 10.4k
cameraview: fix frameskip #23022
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cameraview: fix frameskip #23022
Conversation
|
Doesn't it make more sense to skip frames so we can keep up realtime? |
|
What events are dominating the queue? Perhaps we're spamming the queue with nonsense timer events or something else? |
|
We can easily implement an OffroadTimer like this if use singleton uistate #22789 |
At present, this drawing problem mainly affects watch3. it is caused by many update events from the three cameras. |
|
It seems like the video is skipping back and forth sometimes, so something goes out of order. I assume that was introduced by the async copy? Should we hold off on copying new frames if an update is still pending? I don't like forcing a repaint in the regular ui, but it's fine in watch3. Should we make it an argument for the constructor of CameraView? |
|
Think we don't need this hack if use YUV vipc stream. |
|
Can we ensure the texture is not being modified while Qt is actually drawing the ui? Even with YUV that might still be an issue, right? |
6c77335 to
b85afde
Compare
|
Fixed, synchronized the upload and render |
722c0d6 to
e559913
Compare
YUV #22905 does not has this synchronization issue. it uploads the latest frame in the gui thread.( since the performance looks good enough , I did not do asynchronous upload for it) |
use repaint to fix the frameskip when there are too many events in the queue (e.g. watch3)