Performance guidelines

The following sections provide guidelines for developing applications that perform well in a Remote Desktop Services environment.

In this section

Graphic effects

A list of features that should be disabled when running as a remote session in a Remote Desktop Services environment.

Guidelines for background tasks in Remote Desktop Services

To maximize CPU availability for all users, either disable background tasks when running in a Remote Desktop Services environment or create efficient background tasks that are not resource-intensive.

Thread usage

You should tune and balance application thread usage for a multiuser, multiprocessor Remote Desktop Services environment.

Detecting the Remote Desktop Services environment

To optimize performance, it is good practice for applications to detect whether they are running in a Remote Desktop Services client session.

Check your application for memory leaks and resolve any problems. Of course this is good advice for any application, but in a Remote Desktop Services environment, an application can be run multiple times by multiple users, thus rapidly magnifying the effect of a memory leak.

Animations, large images, audio, and other bandwidth-intensive services must be configurable. When these services are not the primary function, they can be off by default for remote sessions, but enabled when a session is running locally or over a high bandwidth connection. If the purpose of an application is to provide high bandwidth services, such as streaming video broadcasts, the service does not have to be off by default.