Files
zach brockway 3faf06510f Switchboard/SwitchboardListener: Roll-up of multiple fixes from other streams.
- Fixed not handling opening a config that has paths to locked drive (e.g. bitlocker).
- Fix nDisplay node hitches that happen after SBL is left running for a few hours, by limiting NvApi calls that cause hitches to connction time instead of regularly.
- Added optimizations to keep the UI responsive when connected to many (e.g. 30) nDisplay nodes.
- When Switchboard encounters an unexpected host key fingerprint, display a warning but allow the user to proceed with the connection.
- Fix for terminating multi-user server on build.

Original CL descriptions can be found below.

#jira UE-220454
#rb jason.walter

#ushell-cherrypick of 34210013 by Alejandro.Arango
#ushell-cherrypick of 34211340 by Alejandro.Arango
#ushell-cherrypick of 34515790 by alejandro.arango
#ushell-cherrypick of 34515828 by alejandro.arango
#ushell-cherrypick of 35190932 by zach.brockway
#ushell-cherrypick of 35202777 by zach.brockway

-----

Switchboard: Fixed not handling opening a config that has paths to locked drive (e.g. bitlocker).

File operations may raise OSError in such case.

[ushell-cherrypick] of 33917069 by Alejandro.Arango
[rb] alejandro.arango
[rnx]
[jira] none

[ushell-cherrypick] of 33917117 by Alejandro.Arango

-----

Switchboard: Fix nDisplay node hitches that happen after SBL is left running for a few hours, by limiting NvApi calls that cause hitches to connction time instead of regularly.

We discovered that NvAPI calls can cause hitches in frame presentation, this CL adds fine control over what status data is polled and which should be explicitly requested by the user. This is used to request status data that does not change often (e.g. driver version) and also calls that have been determined to cause hitches when calling dxgi present, only at time of connection or when the users presses "Refresh Table", instead of regularly.

For the regular GPU stat calls, the NvAPI calls were replaced with NVMI calls, which do not seem to be causing hitches.

"Refresh Mosaics" button renamed to "Refresh Table" because it now refreshes more than just the mosaics. Now it also requests a full sync status poll. This intentional action might cause a hitch on the nodes but this is now triggered explicitly by the user, which is rarely needed anyway, instead of every second.

Also fixed an issue of the nDisplay monitor table not updating its display after emitting the dataChanged signal.

Fixed nDisplay Monitor not updating when the nDisplay node name or address changed.

Improved nDisplay monitor to show the connection icon instead of the wider column "Connected" with yes/no values.

Vertically aligned the cells in the table.

It now doesn't use the orange warning color on certain columns that are only relevant when the node is running (e.g. present mode).

Added a code-only option to disable exe flags button.

[rb] zach.brockway
[jira] UE-216292
[rn] Fixed nDisplay hitches that happen after a few hours of running SBL.

[ushell-cherrypick] of 34083929 by Alejandro.Arango

-----

Switchboard: Updated the fix to the hitches issue because the other gpu stats api is exhibiting persistent and periodic micro hitches.

Added a "GPU Stats" checkbox to nDisplay monitor. Defaults to off, and should be kept off unless the user wants to monitor the GPU stats. The reason to recommend it to be off by default is that these queries can GPU in a state that makes it more prone to hitches.

We now close NvApi when no new usages have happened for the last 10 minutes.

Fixed a missing signal connection for on listener connected in Unreal device which was not allowing a full ndisplay monitor table refresh for the node that gets connected.

The gpu stats will now read as n/a when they are not being polled. This is because having stale data of these can be misleading to the user.

Also changed order of columns in the monitor because the OS is very wide and not as dynamic as the others.

Increased window initial size from 1192 to 1280 to accomodate the new GPU Stats checkbox.

"Fix ExeFlags" button removed, now the command is sent every time the program starts signal happens for an nDisplay device.
It is still there but not shown, and internally renamed to "Disable FSO" (and column to "FSO"), because it is the only thing we actually do.

[jira] UE-216292
[rb] zach.brockway
[p4v-cherrypick] 34470715

-----

Switchboard: Added optimizations to keep the UI responsive when connected to many (e.g. 30) nDisplay nodes.

* Changed to standard table model that seems more optimized and manages its own internal cache of table data.
* Spread nDisplay node status polls in time instead of doing all at the same time.
* Added indexed caches on write operations of the program queue so that multiple readers can find programs quickly.

[jira] UE-218111
[rb] zach.brockway
[p4v-cherrypick] 34514906

-----

Switchboard: Improved handling of host key fingerprint mismatch.

When encountering an unexpected fingerprint connecting to a device, a warning dialog is now shown, explaining the situation and allowing the user to proceed if desired.

In order to help elucidate potential causes of key mismatch, the subject common name of the self-signed certificate now includes the OS username and computer name, and this information is surfaced in the warning dialog.

[jira] UE-215167
[rb] jason.walter

[ushell-cherrypick] of 34655249 by zach.brockway

-----

Switchboard: Fix for terminating multi-user server on build.

Fixes regression from CL 24476690.

[jira] UE-215338

[ushell-cherrypick] of 33771173 by zach.brockway

[CL 35248809 by zach brockway in 5.4 branch]
2024-08-01 12:41:43 -04:00
..
2024-06-17 12:52:32 -04:00
2023-11-17 10:47:46 -05:00