Skip to content
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

Video wall benchmarks #23

Closed
RoboDoig opened this issue Jun 15, 2023 · 14 comments
Closed

Video wall benchmarks #23

RoboDoig opened this issue Jun 15, 2023 · 14 comments

Comments

@RoboDoig
Copy link
Collaborator

We need to test latency, jitter and synchronisation across screens with the matrox video wall.

  • Thorlabs photodiodes
  • Sampled through ONIX
  • Standard closed-loop workflows for latency etc. timings
  • NGR will provide workflow to be used onsite.
@ederancz
Copy link
Collaborator

Photodiodes set up with ONIX. Ready to assist with this anytime.

@glopesdev glopesdev mentioned this issue Sep 22, 2023
5 tasks
@RoboDoig
Copy link
Collaborator Author

RoboDoig commented Oct 4, 2023

Datasets for synchronisation and round trip collected. Need to extract jitter as well. Acceptable jitter is on order of 10-15ms

@ederancz
Copy link
Collaborator

Hey Andrew, can we close this or are you still analysing the data? Report the results here and then we can close it.

@RoboDoig
Copy link
Collaborator Author

Yes we should be able to soon, I'll upload the benchmark results here.

Do you have any kind of permanent cloud storage for lab data? Would be better to store raw data there rather than on the git repo.

@ederancz
Copy link
Collaborator

ederancz commented Nov 22, 2023 via email

@RoboDoig
Copy link
Collaborator Author

Synchronisation between screens looks good, sub-millisecond

image

@RoboDoig
Copy link
Collaborator Author

RoboDoig commented Nov 22, 2023

For latency and jitter, picture is a bit weirder. Hangs around 100ms latency. Jitter is mostly low but there are these higher latency events that pushes it up.

I would definitely expect these values to be lower, would be good to try this experiment again, also with a direct screen connection (not via Matrox) to compare.

Might also want to check which mode the monitors themselves are running in, some display modes use additional processing that can push up the display latency.

image

@RoboDoig
Copy link
Collaborator Author

Poking around in the NVIDIA settings just now I also notice that there are a few options enabled that might slow down the display latency, let me know when available to repeat the test, I guess preferably after the rig has been moved.

@ederancz
Copy link
Collaborator

ederancz commented Nov 22, 2023 via email

@RoboDoig
Copy link
Collaborator Author

RoboDoig commented Nov 30, 2023

Datasets for second round of benchmarks:

  • Data2023_11_30_11_40_25 : Matrox only round-trip latency test
  • Data2023_11_30_12_19_42 : Same at 60Hz 1920x1080
  • Data2023_11_30_11_43_44 : Matrox only screen-sync test
  • Data2023_11_30_12_33_27 : Same at 60Hz 1920x1080

@RoboDoig
Copy link
Collaborator Author

RoboDoig commented Nov 30, 2023

Benchmarks with matrox only, NVIDIA ultra low latency mode, shader window focused on rig screens:

Screen_Sync:
image

Round_Trip:
image

I just noticed after doing this that the resolution set for the Matrox was at 7680x1080, at which the max refresh rate is 30Hz. Makes sense for the round-trip data where we are getting 1-2 frame delay at 30Hz. Will test at lower resolution with the full 60Hz, but will need someone to see what this physically looks like in the rig!

At 60Hz:
Screen_Sync:
image

Round_Trip:
image

@ederancz
Copy link
Collaborator

ederancz commented Nov 30, 2023 via email

@RoboDoig
Copy link
Collaborator Author

Redid benchmarks with all monitors connected and latency jumped back up to ~100ms. @EleonoraAmbrad noticed that this was caused by Windows auto-selecting the Intel GPU as default when monitors are connected there. Fixed by forcing GPU choice to NVIDIA for the Bonsai exectuable in Windows graphics settings, Latency back down to 25-40ms.

@RoboDoig
Copy link
Collaborator Author

Added PR #34 which implements the benchmark workflows. I will merge the analysis scripts in a separate pull request, but closing this issue for now as desired latency / sync metrics achieved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants