Remote Access to 3D Rendering Software¶
The user interactivity of creative applications such as visual effects or architectural rendering software is contingent on reserved CPU availability to service peripheral devices and refreshing the GUI in a responsive manner. Applications with built-in or plug-in render capabilities are prone to poor user interactivity and low frame rates if the render engine consumes disproportionate CPU resources.
Teradici Cloud Access Software requires a small proportion of high priority CPU access to enable a responsive remote user experience. In many cases this may be ensured by adjusting render settings within the creative application software itself as many popular render engines provide CPU utilization controls via processor affinity, thread count or thread parameters.
In cases where remote user interactivity is adversely impacted by software applications using disproportionate CPU resources, performance may be remedied by one or more of the following actions:
Linux systems spawn the pcoip-server process within scope of the system.slice while render processes are typically spawned in the user.slice (user session context), it is making it difficult to schedule relative priorities between pcoip-server and conflicting render processes.
- If available, adjust render engine settings to allow CPU resources for other tasks
- Use Linux cgroups to re-allocate shares in favor of system.slice, for example by allotting system.slice twice as many cpu.shares as the cpu.slice. It is highly recommended to test thoroughly in advance of deployment because share re-allocation may have unanticipated side effects such as enabling a system daemon to starve other user applications of CPU resources.
Read more on Linux cgroups: https://www.golinuxcloud.com/begineers-guide-cgroups-slice-examples-tutorial/
- If available, adjust the render engine settings to allow CPU resources for other tasks.
- Manually set processor affinity for the application software, allowing at least one core for the pcoip agent (pcoip_server.exe). Note that this approach will not work if the application software spawns render tasks that override Windows processor affinity settings.
- Deploy third party real-time CPU optimization software.
Read more on Windows Processor Affinity: https://www.thewindowsclub.com/processor-affinity-windows