> For the complete documentation index, see [llms.txt](https://docs.parallels.com/landing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.parallels.com/landing/ras-best-practices-guide/remote-access-configuration/rdp-optimizations/for-windows-server-versions-2012-2012-r2-2016-2019.md).

# For Windows Server versions 2012/2012 R2/2016/2019

Navigate to Computer Configuration\Administrative Templates \Windows Components\Remote Desktop Services \ Remote Desktop Session Host\ Remote Session Environment and configure compression for RemoteFX data as follows:

* **Optimized to use less memory**. Consumes the least amount of memory per session but has the lowest compression ratio and therefore the highest bandwidth consumption.
* **Balances memory and network bandwidth**. Reduced bandwidth consumption while marginally increasing memory consumption (approximately 200 KB per session).
* **Optimized to use less network bandwidth**. Further reduces network bandwidth usage at a cost of approximately 2 MB per session. If you want to use this setting, you should assess the maximum number of sessions and test to that level with this setting before you place the server in production.

You can also choose not to engage a RemoteFX compression algorithm. This will use more network bandwidth and it is only recommended if you are using a hardware device that is designed to optimize network traffic. Even if you choose not to use a RemoteFX compression algorithm, some graphics data will still be compressed.

<https://msdn.microsoft.com/en-us/library/windows/hardware/dn567648(v=vs.85).aspx>.

The following policy setting specifies whether the Remote Desktop Protocol will try to detect the network quality (bandwidth and latency): Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections\Select network detection on the server.

If you enable the above policy setting, you must select one of the following:

* Connect Time Network Detect
* Continuous Network Detect
* Connect Time Detect
* Continuous Network Detect

If you select Connect Time Network Detect, Remote Desktop Protocol will not try to determine the network quality at the connect time, and it will assume all traffic to this server originates from a low-speed connection.

If you select Continuous Network Detect, Remote Desktop Protocol will not try to adopt to changing network quality.

If you select Connect Time Detect and Continuous Network Detect, Remote Desktop Protocol will not try to determine the network quality at the connect time, it will assume all traffic to this server originates from a low speed connection and it will not try to adopt to changing network quality.

If you disable or do not configure this policy setting, Remote Desktop Protocol will spend a few seconds trying to determine the network quality prior to the connection and it will continuously try to adopt to the network quality.

The following policy setting specifies whether the UDP protocol will be used for Remote Desktop Protocol access to this server: “Computer Configuration\Administrative Templates \Windows Components\Remote Desktop Services \ Remote Desktop Session Host\ Connections\Select RDP transport protocols".

If you enable the above policy setting, Remote Desktop Protocol traffic to this server will only use the TCP protocol. If you disable or do not configure this policy setting, Remote Desktop Protocol traffic to this server will use both the TCP and UDP protocols.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.parallels.com/landing/ras-best-practices-guide/remote-access-configuration/rdp-optimizations/for-windows-server-versions-2012-2012-r2-2016-2019.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
