XenDesktop 7.6 - Autocad mouse issues

Hi

We are running a series of POC’s for customers who use Autocad 2015.

The POC hardware is a supermicro server with 2 K2’s.

We have applied the policies shared by Jason (thx btw), and all Nvidia demos are working perfectly through HDX 3D pro.

The VDI machines are running Windows 7 64 Bit, latest VDA hotfixes.

Our issue, and showstopper, is with Autocad. What we experience is mouse lag and cursor problems. Sometimes the Windows cursor sits ontop of the acad cursor. Sometimes the cursor changes to a random Windows cursor, the problem is "solved" by moving the pointer out of the drawing area and then back.

Autocad gives a warning at first startup regarding the hardware acceleration but sees the grafx Card and shows DirectX 11 is used.

We are aware that GRID is not on the Acad 2015 hardware compatibility list.

We have been experimenting with Acad 2016 to see if the problem is solved. But it is exactly the same. GRID not on the hw compatibility list here as well.

If anyone has an idea to how this problem can be fixed or know someone who does, tell me! :)

The cursor lag is as a result of the remoting protocols, and is compounded by the network conditions (ICA latency in particular).

I’d suggest optimising the network to stabilise latency, ramping up the framerate, working with Citrix on the best way to improve this. (possible mouse timer tweaks in the registry for example.)

try giving acad.exe his own core, and ctxcfg.exe another. also howmany vCPU’s does the machine have?

AutoCAD can only use 1 core normally if it has to share it with OS and ctxcfg.exe (Citrix’ compressor) it will be sluggish.

K260Q is on the certified list

jaccow makes some very valid points. Recommendation is that you should have at leas 4vCPU’s when delivering 3D workloads.

oh Yes and for AutoCAD don’t forget to update the client’s drivers as well.

I’ve found that a local old AMD card with a NVIDIA Grid in the XD sessions will give strange mouse issues.

AutoCAD can be a server rendered cursor and you may find tweaking MouseTimer (as described here Performance Tip: Disabling Mouse Shadow for XenDesktop and XenApp | Citrix Blogs ) helpful.

If the lag is down to the network I’d try to investigate why, if limited bandwidth you might find thinwire+ added by Citrix in XD 7.6 FP3 helps https://www.citrix.com/blogs/2015/10/09/a-big-leap-in-ica-protocol-innovation-for-citrix/ (see the comments below the blog from AutoCAD / CAD users on build to lossless success).

If you are on high latency >70ms then it might be worth tuning the TCP/IP window as described in: CTX125027 – How to Optimize HDX Bandwidth Over High Latency Connections How to Optimize HDX Bandwidth Over High Latency Connections

Do let me know if anything helps and also if it doesn’t!
Rachel

The single largest performance boost I get with acad.exe is setting CPU affinity. So pin the exe to one CPU. You’ll need to configure any shortcut the user launches the application from to do that, but the performance boost is very noticeable.

Check out MouseTimer. It’s a registry key on the client. Makes autocad feel much more like a local program when you have a little latency between the user and the server.

I had a link, but it looks like Citrix took the page down during their last restructuring; bummer – bet lots of my links are broken now. The reg key should be:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Mouse

Since the artcile is down, I’m pulling from memory – I think the default value is 100 (it’s a *, but it translates to 100). It’s a measurement in MS, so every 100ms all mouse actions will be collected and sent to the server.

Drop this guy down to 30-40 ms, maybe a little more, and see if that makes a difference. I have no idea how much of an impact it will be fore you, but it will generate more bandwidth…

Hi Virge,

Mousetimer default is 10, what you are doing is actually raising it - I wrote an explanation here: Performance Tip: Disabling Mouse Shadow for XenDesktop and XenApp | Citrix Blogs

You may also find this useful: Configuring Virtualised Autodesk and similar applications including XenApp GPU-sharing and tools for sanity checking DirectX/OpenGL usage | Citrix Blogs

AutoCAD is very CPU heavy relative to GPU so often the CPU GHz is important.

Best wishes,
Rachel

Rachel,

the whole legacy graphics vs DCR vs H264 vs codecs vs whatever else seems to be floating around is another one of the intricacies that just escapes me.

Windows 7 - Which one do you like with AutoCAD
Windows 10 - Which one do you like with AutoCAD

Windows 7 - Which one do you like with Revit, SpaceGAss and Inventor
Windows 10 - Which one do you like with Revit, SpaceGAss and Inventor

So many conflicting opinions… and do i want to use DCR ?

And which compression do you like with XenDesktop 7.11 ?

Many thanks.

Lastly - is the new "Relative Mouse" setting on the receiver an advantage ?

Scratch that - the relative mouse is no good for AutoCAD.

Hi,

we run serveral proof of concepts with main usecase autocad 2019/2020 with highly intensive, detailed files and drawings.

I have seen multiple topics in front of Autocad Performance in Citrix Virtual Desktops, including this one, where some of you have suggested to use cpu affinity for better Performance (for autocad or ctxcfg.exe)

Is it still necessary in 2020? Or is the behaviour better now with newer Autocad and Citrix Releases? What is your recommendation?

We are not having much issues and the performance is okay in general. Mouse performance is always the major topic and some rendering and highly intensive tasks.

Our most used config:

Dell PowerEdge R740
2x Intel Xeon Gold 6146 CPU @ 3.20GHz (2x12 Cores)
4 NIVDIA Tesla T4 (TU104GL) with GRID T4-2Q Profile

Round about 28-30 VMs per Server.

  • CVAD 1912 LTSR with Windows 10 1803/1909

  • 4 vCPU and 16 GB RAM per VM on XenServer 8.1 with Citrix PVS Accelerator (2 GB Cache in RAM as vDisk Overflow Config)

  • Endpoints are Windows Fat Clients with Workspace App or Windows 10 IoT Thin Clients

  • using YUV444 (H.264) visually losless with 60 fps maximum with hardware encoding.

  • Autocad in Standard Confiugration with server-rendered cursor and without disabling any potential features/options.

  • all applications are using GPU-Acceleration as expected, CPU consumption is fine in general.

I would be thankful about any contact or exchange about general sizing or best practices info in connection with Autocad, CPU, overall performance. (I am generally confirm about all things documented with MouseTimer, server-rendered cursor and so on. Also i’m aware of the several HDX-Policies and possibilities). Just want to have some impressions from others, also in connections with endpoints, used policies, potential tweaks or game changers. You also can send me some private message, for sure.

Thanks in advance.

Jens

Hi

Sounds like you’ve done everything correctly, and as you don’t have any big issues it’s difficult to make any recommendations for changes.

But if I were going to make any changes, I’d start with your CPUs. Server CPUs are always a compromise between Cores vs Clock Speed because of the requirement for User Density. A 3.2Ghz CPU today is considered low-end to average by physical Workstation standards that are designed to cater for your workload, because for your workload you would trade Cores for increased Clock Speed and 4.0Ghz or above would be standard for AutoCAD in a physical Workstation, but for a Server where you need those Cores to support additional Users 3.2GHz is a really good place to start.

You mention you’ve run several POCs, so I’m assuming you’re not in Production. With that in mind, Intel launched some updated CPU models that are a better choice than those you are currently running.

Xeon Gold 6256 - 12 Cores @ 3.6GHz

Xeon Gold 6246R - 16 Cores @ 3.4GHz

As for CPU affinity, I’ve never had to do this.

What resolution are your monitors and how many do your users have?

During the "rendering and highly intensive tasks", which component becomes the bottleneck?

Regards

MG

Thanks for your answer. The CPU Infos confirm my thoughts and expactations, thanks for that. Perhaps this could be some addtional performance.

-> Rendering is CPU related, the software takes in this case 100% with all cores, we have switched today from 4 vCPU to 8, now its agreable and okay to use and similar to local workstations.

In the configuration which i have posted, we have round about 28 Users (80+ in summary) per Server, and 7 VMs per GPU.

All users have 2 monitors, most of them 1920x1200.

Most usecases are smooth and better than on the old fat clients which are outdated.

-> Only issues are AutoCAD related, with some lagging or bad user experience while doing certain workflows. In summary this specific users usecases are a little bit a question mark for the proof of conecpt.

CPU, RAM and GPU-RAM are not too busy in this cases and there is no significant usage visible, end user latency and network is also not a topic.

These are very complex drawings with a high number of objects. Users are making changes, adding lines, lots of copy paste stuff, lots of zooming in and out in the workflows. Then there are some lags, sometimes mouse performance is not the best as in comparison to other files or other programs.

-> Things which i have in mind to try are disabling some autocad advanced features/options, playing a little bit with the NVIDIA graphic profile/system settings (performance/quality or a individual setting instead of the default which is "Let the 3D Application decide") or installing AutoCAD 2020 instead of 2019.

Do you ever have had the need of customzing/tuning AutoCAD by itself or choosing individual NVIDIA Settings?

Hi

Thanks for the details.

Increasing the CPUs Clock Speed would give you more performance, especially with more complicated models, and 3.2 to 3.6GHz should give a noticeable improvement.

Something else that’s worth validating … When you have time outside of business hours (or during business hours if you have an empty server with the same Specification), try running the same workload but with only 1 user connected to the Server and see if there’s a performance or experience difference. The reason being that your CPUs now have a 4.5x overcommit on them, assuming all 28 users are running 8 vCPUs and there is nothing else running on the Servers, whereas previously is was closer to 2.3x. This would tell you whether you’d be better going for more Cores or increased Clock Speed. For example, with the 3.4GHz 16 Core CPUs mentioned previously, you’d get a slightly faster Clock, and reduce the overcommit to 3.5x if everything else stayed the same. It’s always worth knowing at what point your hardware’s performance starts to deteriorate, and if 2 or 3 people start rendering at the same time or with overlaps on the same Host, you could end up with peaky performance which is really frustrating, this is more likely to happen with increased vCPUs, so it’s worth keeping an eye on, especially if drawings start to become more complex.

On the platforms I design, deliver and support, I always make sure they’re kept well up to date and are running the latest versions of Software and Operating Systems. vGPU drivers are always kept up to date as well. The Applications get treated a little differently, as moving to newer Applications can initially reduce productivity if there are significant differences between that and the previous version. It’s easy for me to just say run the latest Applications, when I’m not the person that will actually be using them. However, the recommendation to my customers is always try and run the latest versions of whichever Applications you use to take advantage of the latest features, performance and functionality. However, the users may (and probably will) need some time to adapt before any real performance metrics can be gathered. So to directly answer your question, if the users are happy to do so, then I would be running AutoCAD 2020 over 2019.

For the NVIDIA Control Panel, I typically let the users decide what they want to tweak inside there. This is always going to be Application specific as to any benefits and as AutoCAD is typically CPU limited, modifying the NVIDIA Control Panel doesn’t always give much benefit in my experience. There are some basic settings inside AutoCAD that can make things run more smoothly, and there are plenty of random guides on the internet of things to try that relate to the entire Operating System. For example, have you run the Citrix or VMware Optimiser tools?

If you’re not locked into those server specifications and this is still a POC, I think the biggest gain you’re going to see will be CPU related by going for a different model. If these are your production servers, then you’re effectively trying to turn things off to improve existing performance, so system wide optimisations are key, which is why I mention the Optimisation Tools.

Regards

MG

Basically we are caring very much about a clean and optimized image, so i would say that this is also on a good level.

We are going now as result of the PoC with the 3.4GHz 16 Core CPU, and also for the productive environment there will be AutoCAD 2020 too, surely with all the latest drivers and updates. As you mentioned, first because of the "more" need of overcommitment, and also for a benefit with a litte bit more CPU clock speed. Application based optimization and handling with the NVIDIA Control panel is then a topic for the productive pilot afterwards.

Thank you very much for sharing your point of view. Wish you all the best for the moment.

Hi

You’re welcome. I hope some of what has been discussed is useful. Please feel free to post back on here and let us know how you get on with the changes.

Best of luck with the PoC

Regards

MG