Ask the Architect

Show window contents while dragging


Let’s test your XenApp/XenDesktop design skills.

With XenApp/XenDesktop 7.15, do you want to show window contents while dragging?

View Poll

NO CHEATING! Answer before continuing

First, we need to understand that the “Show window contents while dragging” is an operating system setting and not a unique XenApp and XenDesktop setting. But this setting does impact the performance of XenApp and XenDesktop. The question is how?

To answer this question, we have to look at Thinwire, which is one of the many display codecs within the ICA protocol. Thinwire excels at identifying movement. If I have an application window at position 50,50 and then move it to position 51,50 Thinwire understands that it isn’t an entirely new object, but that a previous object (application window) moved from one location to another.

By understanding that a window moved positions, Thinwire sends a small move command to the endpoint instead of sending new pixels for each item within the application window.

But what happens if we disable showing window contents while dragging?

As soon as the user selects the application window to initiate a drag, the entire application windows gets replaced with 4 lines, a few pixels wide, equal to the application window’s dimensions. The four lines are not equal. The four lines are not static from one move to the next. The operating system changes the size and pixel width based on whatever is behind the lines. Due to this dynamic nature, these lines are not friendly to the Thinwire cache, which means Thinwire must draw fresh lines each time the user drags a window. And because the application window’s contents are replaced, we need more bandwidth usage, which could result in a poorer user experience over constrained links.

A big thanks to Muhammad Dawood and Nick Rintalan for answering this question for me.

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.15 VDI Handbook
XenApp Best Practices
XenApp Video