Web sessions compression techniques and optimizations
In the case of web sessions, by default, session data are streamed in video frames compressed and decompressed by using the MJPEG lossy algorithm, which is the video-format widely supported by browsers.
Other video codecs like VP8 and H.264, require a browser which supports WebRTC and HTML5. At the moment only VP8 can be used for web sessions, if WebRTC is enabled and the browser supports it. In practice, when WebRTC is enabled, the VP8 encoding will be used, otherwise MJPEG will be the codec.
Optimizations
1) Adjust display settings in the web session
Open the NoMachine menu inside the web session: press ctrl+alt+0 or click on the page peel in the upper right corner of the window to open it. Then click on the 'Display' button and finally on 'Display settings'.
Change the display image quality
Increasing the quality will mean to apply a minor compression ratio, the image will be clearer, but more bandwidth will be used.
Disable network-adaptive display quality
This will anchor the display quality to the fixed value specified in the Display quality slider, making it independent from the current network congestion. This is not recommended when there is a very limited bandwidth.
Disable multi-pass display encoding
This will disable the progressive refinement of the image from the lower quality version of the image during moments of inactivity of the desktop till the target quality set in the Display quality slider. Disabling this refinement will send the image directly with target quality. This is not recommended when there is a very limited bandwidth.
2) Enable WebRTC
NoMachine web sessions use by default the classic web media exchange protocol for the two-way browser/web server communication. WebRTC (Real-Time Web Communication) is also supported, please read here to know how to enable it: https://www.nomachine.com/AR07N00892.
3) Use the VP8 encoding
Enable WebRTC in the NoMachine Server. The VP8 codec will be automatically used.
How to verify which codec is in use
You may verify which encoding method is in use from the NoMachine menu inside the session: press ctrl+alt+0 or click on the page peel in the upper right corner of the window to open it. Then click on the 'Display' button and finally on 'Display settings'. The codec actually on use is reported at the bottom left of the menu.
4) Use the H.264 encoding
Support for H.264 video streaming in NoMachine web session with WebRTC enabled is available with NoMachine v. 6 or later.
NOTES
a) The X11 vector graphics mode for virtual desktops
Virtual desktops run via NoMachine client supports an alternative method to video streaming: it's the so called X11 vector graphics mode which works by optimizing the X11 protocol using a number of compression techniques, round trip suppression and cache algorithms.
This method, most suitable for traditional applications requiring pixel-perfection, is not available for web sessions.
b) Encoding settings in the User Interface for server preferences
Settings specified in the 'Use a specific display encoding' drop menu of the 'Performance' panel in the NoMachine Server preferences panel are effective only for sessions run by NoMachine Client.
