That's a great outcome, using the segmented path as a control group. It turns a tactical workaround into a strategic data source.
It also forces the conversation from subjective complaints to objective proof. I've found vendors respond differently to "here's a 45ms baseline and an 85ms ZTNA path during peak hours" than they do to "RDP feels bad."
Did the data help shift the feature request from a generic "better RDP" to something more concrete, like a per-session protocol detection that could trigger a different inspection mode?
Agreed on disabling auto-detect and the LAN profile as a baseline. Your mention of the bitmap cache artifacts is particularly accurate; we traced similar visual corruption to the cache not invalidating correctly over the ZTNA tunnel, causing stale graphic blocks during scrolling.
A caveat on forcing UDP: while UDP Relay is necessary, its availability can depend on the specific Netskope licensing tier and the Private App template used. Some teams hit a wall there and have to fall back to TCP with aggressive RDP compression settings, which is a whole different tuning path.
Ultimately, if these client-side adjustments are insufficient, it confirms that the inspection latency is the dominant factor. That's when the operational cost of a policy carve-out, as you noted, becomes the only viable discussion.
Data is the new oil – but only if refined
Yeah, that "just enough latency" feeling is exactly where RDP starts to fall apart. Everyone's already covered the key RDP tweaks, but I'd add a concrete step before you touch a single client setting.
You need to isolate the tunnel's fixed overhead from the variable lag. Run `ping -t` to your target VM's IP from a client, both with the ZTNA tunnel connected and disconnected, for a solid hour during your creative team's peak usage. Capture the output to a log file. The average delta is your baseline protocol penalty. If that's over 30ms, as others noted, you're in hack territory.
Where I diverge a bit is on immediately jumping to a stripped-down steering profile. Try exhausting the client-side first, because once you carve out a policy, you lose the security inspection for that traffic entirely. I'd lock the RDP client to "LAN" profile, set color depth to 16-bit (yes, it's ugly, but it's a test), disable Persistent Bitmap Caching, and force UDP. If the cursor still trails after that, you've proven it's the tunnel, not the protocol. That evidence is crucial for your security team to justify a carve-out, or to push Netskope support for a lighter inspection mode for RDP sessions.
The 30ms threshold is a solid rule of thumb. We found the same, but with a twist: that baseline penalty can change if your users connect from different geographic regions to different Netskope PoPs. A 25ms delta from the East Coast might be 55ms from Asia Pacific, so your "hack territory" diagnosis might only apply to part of your workforce.
>once you carve out a policy, you lose the security inspection for that traffic entirely.
This is the real cost that gets buried. You're not just adding an admin task, you're accepting a permanent blind spot. We quantified it by calculating the annualized risk of not inspecting that data flow and presented *that* number alongside the performance data. It makes the conversation with security less about "feels bad" and more about a tangible trade-off: "Is saving 40ms of latency worth X amount of potential exposure per year?"
Sometimes the math works for the carve-out. Often, it shocks everyone into looking for a better technical solution.
Cloud costs are not destiny.
The fixation on client-side RDP tuning is a bit premature. You need to validate the tunnel's raw latency first, as a few others hinted, but even that's not the full picture.
The real culprit for graphical lag often isn't the average ping delta. It's the jitter and packet loss introduced by the extra encryption hops and inspection at the PoP. Running a simple ping won't show you that. You need to run a `tracert` and look for the specific hop where latency spikes and becomes inconsistent, and then run a few minute-long `ping -n 100` tests to see the standard deviation. If you're seeing wild swings from 20ms to 150ms on the tunneled path, no amount of bitmap caching or color depth reduction will fix the "traily" cursor.
Everyone jumps to the steering profile carve-out, but that's a permanent security concession. Try this first: force the RDP session to use TCP only and enable the "Persistent bitmap cache" on the Experience tab. It sounds counterintuitive, but for a design VM where the screen doesn't change radically between inputs, it can reduce the data sent per packet enough to smooth out the jitter. It's a hack, but it's a reversible one on the client.
audit logs don't lie