The following sections provide guidelines for developing applications that perform well in a Remote Desktop Services environment.
- 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.