Microsoft has pinpointed high-resolution monitors as the reason for a large number of crashes involving the application sharing feature in its Skype for Business program.
The company's NextHop team engineers said the crashes affect instances of Skype for Business 2015 and Skype for Business 2016 that have been left running for long periods of time - days or even weeks on end.
Because the Skype for Business clients are 32-bit applications, and have to track every pixel on users' monitors in a large buffer, the processes eventually run out of memory for application sharing to work.
Although 32-bit applications have two gigabytes of memory to play with in Windows, newer high-resolution 2K and 4K monitors result in very large buffers being required for Skype for Business application sharing.
The memory address space for the buffer has to be contiguous and cannot be fragmented, the Nexthop team engineers explained.
If the computer memory becomes fragmented as programs create and destroy objects they keep in it, "it can become impossible for Skype to allocate enough contiguous memory to satisfy the need to store the display bitmap necessary for application sharing on high definition displays," the engineers said.
The higher the resolution, the worse the problem. It is the direct reason why Skype for Business officially only supports a single high-resolution monitor for application sharing.
There is no fix for the problem coming for 32-bit Skype for Business.
Microsoft suggests that customers who need to use multiple 2K, 4K and ultra-high resolution displays try out the 64-bit version of Skype for Business.
Although the 64-bit version only officially doesn't support multiple high-res screens, it does not have the 2GB memory limitation of 32-bit apps.
Skype for Business customers can also use the desktop sharing feature instead of application sharing, which uses a much smaller buffer and shouldn't cause as many memory restriction issues even with the 32-bit version, the engineers said.