Back

Topic

[KB1203]CPU at 100% with in web Navigator using Webvue in a VM

Tags: Virtualization, Web, Webvue

1 year ago
By LM
Options
Print
Applies to:

PcVue 16 onwards


Summary:

With PcVue 16, WebVue uses WebGL technologie. By default, WebVue tries to refresh the whole WebGL view at the refresh rate of the screen, usually 60 frames per second (FPS) or one frame every 17ms. It will take all available resources in trying to achieve that. Normally this works fine as the calculations are offloaded to the GPU and these are optimized for the 3D calculations. But if the browser is running inside a virtual machine, that doesn’t have GPU acceleration for WebGL, all the calculations must be done on the CPU, with the limited CPU resources that are assigned to the VM.

This leads quickly to an oversaturated CPU as it can not keep the refresh rate at 60 FPS, especially if the resolution is higher than FullHD.


Details:

As a fix we added a new option that allows to define a refresh rate. It can be enabled by modifying the index.cshtml file of WebClient (e.g., C:\inetpub\Sv Website\WebClient\Views\Main\index.cshtml). There are three settings to take into account:

index.cshtml

App.enableCustomizedTicker enables the option. If it is set to true, the value in “App.tickerDeltaMS” is taken into account for the refresh rate. An example: The value 500 means a refresh rate of 2 FPS (1000ms / 500ms). A value of 200 would mean 5 FPS, etc. The configured refresh rate is used for all internal graphic updates. E.g., if you have a blinking color on a rectangle, it will not blink more often than every 500ms. Same for animated images or a TrendViewer.

There is one exception to this rule. If an update is received from the back-end, it immediately triggers an update. The same applies to user actions, such as clicking on a drop-down list.

To avoid slow flicker rates or slow GIF images, the third option, “autoAdjustTicker”, can be set to true. In this case, the refresh rate automatically switches to the highest rate required. For example, on a static mimic, the refresh rate automatically switches to the highest rate required: On a static mimic, the refresh rate is maintained at 500 ms (2 FPS). If a mimic with a flashing rectangle is opened and the flashing interval is 200 ms, the refresh rate automatically switches to 200 ms (5 FPS). As soon as the mimic is closed, the refresh rate returns to 500 ms. The aim of this mode is to have exactly the refresh rate required, but never faster.

Most of the time, it should be sufficient to adjust it dynamically, but if WebVue is still too resource-intensive, it’s better to use a static refresh rate.

Note: By default, the “enableCustomizedTicker” option is set to false, as we expect customers to use WebVue on devices with GPU acceleration.


Created on: 31 Aug 2023 Last update: 04 Sep 2024