As ISL Light 3.3’s desktop sharing quality and speed have been improved to the extent that you can share high-definition contents, many of you have asked us what technology lies behind it. Let’s give an insight right now and then find out what a video sharing test reveals.
Download the latest ISL Light
Download the latest ISL Light Client
ISSC technology for optimal desktop sharing quality
Although previous versions of ISL Light offered several possibilities to optimize speed and quality of the shared screen, the new 3.3 version completely outplays them.
Now, there are basically two approaches to changing desktop sharing quality; one is to select the colour depth and the other is to select the codec. The first approach is pretty self-explanatory. You can go from as low as 8 colours to as high as full colours (32-bit). In the previous versions of ISL Light, this was the only setting available, therefore if you reduced the number of colours, the desktop sharing speed consequently increased and the bandwidth usage dropped.
Starting with ISL Light 3.3, a new codec called ISSC has been introduced, so a brief description is in order. ISSC stands for Internet Screen Sharing Codec and it includes several colour depth options, operation modes and quality settings. There are two main groups here; the first group uses ZRLE (you are probably familiar with it, since versions prior to 3.3 have been using it) and the second group uses a combination of ZRLE (lossless compression) and JPEG (lossy compression). Apart from the colour depth setting (you can choose between high colour and full colour) and the quality setting for the lossy compression part (15% or 60%), ISSC offers two modes – dual and triple. And the difference between them?
Dual mode. If the size of the update using JPEG compression is less than half the size using ZRLE compression, a JPEG-compressed update is sent, otherwise a ZRLE-compressed update is sent. Simply put, if the size optimization is noticeable (half the size or less), we use lossy (JPEG), otherwise we don’t bother and simply send the lossless version (ZRLE).
Triple mode. Same as dual mode, but with a twist! As a bonus, ZRLE-compressed updates of previously sent JPEG-compressed updates are sent afterwards. This means that you get updates quickly, but the JPEG artifacts will clear as ZRLE updates arrive.
Like I mentioned before, there are two preset values; one is called best quality (64k colors, ISSC triple @60%) and the other is called high speed (256 colors, ZRLE). High speed is the default value, but you can mark the checkbox when starting desktop sharing and use best quality instead. Naturally, you can change quality at any moment when viewing the remote screen. Do that by either pressing the “Change color depth button” or using the “Tools” menu and selecting “Colour depth”.
Video sharing test
After saying so much about the ISL Light 3.3’s desktop sharing, I needed to test how it actually performs when sharing a video played on Youtube. The Internet connection used in the test was an average ADSL 1024/512, too slow to my taste. Both computers were running on Windows and had average capabilities. The results were rewarding.
Like promised, the ISL Light version 3.3 with the colour depth set at best quality produced an awesome desktop stream, allowing me to watch the video played on the remote PC almost as comfortably as if I was playing it on the local PC. When setting it at high speed, the video quality evidently dropped and the speed improved a bit, but not enough to make up for the lost quality. Even trimming the quality / speed ratio by adjusting the colour depth to different options did not produce satisfactory results. The best quality selection proved to be the wisest choice when using the 3.3 version. That is for sharing a video.
See the quality of the video recorded through desktop sharing (played on the remote PC and recorded on the local PC).
ISL Light 3.3, best quality:
ISL Light 3.3, high speed:
What I wonder, and is not mentioned in this article, is the difference in CPU-usage on the remote machine. I think that the response of the other machine is also important, since ISL products are not mostly used to view video streams over the web on a remote machine (in The Netherlands at least). ISL Products are used for remote support most of the times.
What also is nice to know is, will the ISSC be used for products as ISL Groop too? When I do webinars, I’d like to show some video’s I made (maybe) and this might be possible in a fluent way, when I just share my desktop and play the video on my machine, instead of sharing it via the files in there.
I must say: kudo’s to the development, since the quality is indeed improved in a positive way!
ISSC uses more CPU as ZRLE as it makes JPEG and ZRLE encoding each time, but the process is optimized so it is quite low on modern CPU. So high speed setting also brings lower CPU usage – as we use only ZRLE. ISSC is not used just for viewing videos, but will excel also in cases where you have graphics on remote screen – CAD applications, photoshop or just opening a folder full of pictures.
CPU usage on single core computer is limited to 45%. Most of the CPU usage usually goes to process of grabing screen updates and detecting changes. On dual/multi core computers CPU usage in kernel time is limited to 50%.
On most modern CPUs new ISL Light uses less than 10% of total CPU power.
ISSC adapted for multicast is also prepared and will be implemented in ISL Groop with advanced bandwidth management (lossy protocol) – so it will make screen sharing in ISL Groop very flexible and probably preferred way to share content.
Great reading your blogg post