The OpenGL-on-Metal drivers used on these machines don't support CGLSetFullScreenOnDisplay, so we need to disable it on those machines. This also applies when running a x86_64 app through Rosetta 2, hence the sysctlbyname check.
Furthermore, we need to set the appropriate shielding level, which need not be `NSMainMenuWindowLevel+1`.
Fixes#1316
Co-authored-by: LD <laurent.deru@gmail.com>
The Blowfish cipher is no longer available on OpenSSL 3.x by default. It requires enabling the legacy cipher suite, which is compiled separately from the main OpenSSL library. AES-256 is a good replacement cipher that has hardware support in most newer computers. AES-256 is also available in OpenSSL 1.0.2.
Otherwise any multithreaded application is dropping frames like mad, since the packets for different frames may be added to the same queue at roughly the same time.
This improves performance of PStats client when a lot of data is being sent per frame.
Also increase the value of pstats-max-queue-size, since otherwise we're constantly dropping frames when using multiple threads.
Similar to what we're doing on the flame graph now
Also, tweak tooltip message for collectors that overlap frame boundary if it's partially on a dropped frame, so that it isn't misleading
Adding vertical scroll, allowing resizing of the window, and putting the frame number to the right of the frame divider line instead of centering it
Also, never makes the Timeline window taller than the screen
It creates a clock skew in the PStats timing information that cannot be corrected for in the server. If we want to bring this back, we should either have a global `pause()` and `resume()` (so we can properly pause collection in the meantime, and have a time to reset to, but we'd need to think about how to handle threading) or we should add a `drop_frame()` to drop the current frame. If we must bring it back in its current form, then we need to communicate the clock reset to the server, so that it can properly take it into account.
- Properly display and stack bars overlapping frame boundaries
- Ignore "App:Show code:General" collector (already disabled on master, but to support 1.10 clients) - it's an "inverted" collector that doesn't nest properly so it messes up the stacking
- Better handling / display of dropped frames
- Better handling of clock skew due to `PStatClient::resume_after_pause()` (but please don't use it, because it's not possible to fully handle it properly)
- Vertical scrolling (Windows only)
This lets the window manager know when a program has finished launching, to stop showing a spinning cursor
Can be disabled with `x-send-startup-notification false`
Upon reading data from datagram, the bars would animate from zero width, which looks odd when opening an existing session.
Also, fix the scale area not updating properly in GTK version.