ArcGIS Pro uses modern hardware and computing technology to display graphics-rich maps and scenes and to perform spatial analysis. This means that ArcGIS Pro can perform just as well in a properly configured cloud or on-premises virtualized environment as on a desktop machine.
To achieve this, the virtualized environment must provide the resources that ArcGIS Pro requires, based on its architecture. The following are the primary components of that architecture, along with descriptions of how they exist in virtualized environments:
- Central processing unit (CPU)—ArcGIS Pro is a multithreaded application that uses as many CPU cores as are available. CPU cores process the threads for everything from disk input and output to geoprocessing tool functionality. In a virtualized environment, virtual CPU cores are used in the same way.
- Random Access Memory (RAM)—An adequate amount of RAM ensures ideal performance on both physical and virtual machines (VMs). Allocate an appropriate amount of RAM based on the ArcGIS Pro minimum and recommended requirements.
- Graphical processing unit (GPU)—ArcGIS Pro uses the DirectX or OpenGL graphics application programming interfaces (APIs) to deliver an optimal graphic experience, where panning in maps and scenes is smooth and fluid. In a virtualized environment, the GPU can be virtualized also, referred to as a vGPU. In this case, the virtual machine must be provisioned with a shared GPU to provide sufficient graphics performance in ArcGIS Pro. Alternatively, a GPU can be "passed through", which means an entire GPU is provided for use by the VM. This results in optimal performance for power-users of 3D capability, but reduces scalability of the VM host machine. A GPU that is passed through can be used in both on-premises and cloud virtualized environments.
These hardware resources must be configured in each virtualized environment independently. For on-premises virtualized environments, configuration is managed and maintained by virtualized environment administrators. For cloud-based environments, administrative responsibilities are managed by the cloud provider. That also means in cloud-based environments, the user is responsible for selecting appropriately sized and configured instances. The on-premises virtualization and cloud virtualization sections of the ArcGIS Pro help detail requirements for each environment and describe how the configuration is managed.
RDSH is not designed to deliver 3D virtual applications. It is possible to deliver 3D applications on a Windows server OS (RDSH), however, the user density and consistent user performance are not ideal for VDI because of the way the OS manages the GPU memory and scheduling of the use of the GPU. Most applications delivered in RDSH are not 3D; 2D apps such as ArcMap have been deployed in RDSH for years. The largest consideration for 3D apps deployed in an RDSH environment is GPU percent and GPU memory usage. There is not a vGPU manager that exists at the hypervisor level to either schedule the time used by the GPU or to manage the use of GPU memory between sessions. The GPU is passed through to the OS, and the sessions will use as much of the GPU time and resources they are afforded until the GPU memory and GPU percent are expended. As new users log in to the server, they either have to wait for processes to end or GPU tasks are offloaded to the CPU, which then degrades the performance for all users on the server.