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

binned frame in GUI is not acceptable #3

Open
lbusoni opened this issue Jun 14, 2022 · 0 comments
Open

binned frame in GUI is not acceptable #3

lbusoni opened this issue Jun 14, 2022 · 0 comments

Comments

@lbusoni
Copy link
Member

lbusoni commented Jun 14, 2022

The GUI is showing the frame obtained from getFrameForDisplay(), i.e. the last available frame (not necessarily a fresh one) and binned by 4. This is unacceptable for the alignment tasks typically performed with the GUI

The binning is needed to avoid the accumulation of delays in the GUI: although the reason is not totally clear to me, the symptom is a delay of several seconds (or minute) between the frame generation and the display on the GUI: the GUI keeps on displaying frames at a reasonable rate, but not the last ones. If you modify the exposure time, the GUI takes several seconds before the frames with the new intensity are shown, and the delay is apparently increasing.

The bottleneck is the frame transfer over the network between server and client, and apparently there is a buffer somewhere in some software layer (and some miscomprehension of zmq) that prevents a proper management of the frame reception.

The temporary (?) solution was to bin by 4 the frame published for the getFrameForDisplay. Is this really solving the issue? Probably no.

The idea was also that you don't need 2k by 2k frame for a fast display, as anyhow the GUI will be a few hundred pixels on the screen. But when you zoom into a smaller region you want to have it at full resolution

We should be capable of processing the last received frame, eventually dropping the old ones, not an old buffered frame.

Otherwise, we may have a frame published with just the pixels needed by the GUI, adding a complicated mechanism to keep track of which region is required by which client. But it looks ugly

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

1 participant