Skip to content

Commit

Permalink
Update what's new for RC 1 (dotnet#37011)
Browse files Browse the repository at this point in the history
  • Loading branch information
gewarren authored and IEvangelist committed Oct 2, 2023
1 parent 54018cb commit b667031
Show file tree
Hide file tree
Showing 9 changed files with 267 additions and 82 deletions.
35 changes: 34 additions & 1 deletion docs/core/project-sdk/msbuild-props.md
Original file line number Diff line number Diff line change
Expand Up @@ -914,8 +914,9 @@ To remove this warning and continue to use the version of code analyzers in the

## Runtime configuration properties

You can configure some run-time behaviors by specifying MSBuild properties in the project file of the app. For information about other ways of configuring run-time behavior, see [Runtime configuration settings](../runtime-config/index.md).
You can configure some runtime behaviors by specifying MSBuild properties in the project file of the app. For information about other ways of configuring runtime behavior, see [Runtime configuration settings](../runtime-config/index.md).

- [AutoreleasePoolSupport](#autoreleasepoolsupport)
- [ConcurrentGarbageCollection](#concurrentgarbagecollection)
- [InvariantGlobalization](#invariantglobalization)
- [PredefinedCulturesOnly](#predefinedculturesonly)
Expand All @@ -926,6 +927,18 @@ You can configure some run-time behaviors by specifying MSBuild properties in th
- [TieredCompilation](#tieredcompilation)
- [TieredCompilationQuickJit](#tieredcompilationquickjit)
- [TieredCompilationQuickJitForLoops](#tieredcompilationquickjitforloops)
- [TieredPGO](#tieredpgo)
- [UseWindowsThreadPool](#usewindowsthreadpool)

### AutoreleasePoolSupport

The `AutoreleasePoolSupport` property configures whether each managed thread receives an implicit [NSAutoreleasePool](https://developer.apple.com/documentation/foundation/nsautoreleasepool) when running on a supported macOS platform. For more information, see [`AutoreleasePool` for managed threads](../runtime-config/threading.md#autoreleasepool-for-managed-threads).

```xml
<PropertyGroup>
<AutoreleasePoolSupport>true</AutoreleasePoolSupport>
</PropertyGroup>
```

### ConcurrentGarbageCollection

Expand Down Expand Up @@ -1029,6 +1042,26 @@ The `TieredCompilationQuickJitForLoops` property configures whether the JIT comp
</PropertyGroup>
```

### TieredPGO

The `TieredPGO` property controls whether dynamic or tiered profile-guided optimization (PGO) is enabled. Set the value to `true` to enable tiered PGO. For more information, see [Profile-guided optimization](../runtime-config/compilation.md#profile-guided-optimization).

```xml
<PropertyGroup>
<TieredPGO>true</TieredPGO>
</PropertyGroup>
```

### UseWindowsThreadPool

The `UseWindowsThreadPool` property configures whether thread pool thread management is delegated to the Windows thread pool (Windows only). The default value is `false`, in which case the .NET thread pool is used. For more information, see [Windows thread pool](../runtime-config/threading.md#windows-thread-pool).

```xml
<PropertyGroup>
<UseWindowsThreadPool>true</UseWindowsThreadPool>
</PropertyGroup>
```

## Reference-related properties

The following MSBuild properties are documented in this section:
Expand Down
2 changes: 1 addition & 1 deletion docs/core/runtime-config/compilation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Compilation config settings
description: Learn about run-time settings that configure how the JIT compiler works for .NET Core apps.
description: Learn about run-time settings that configure how the JIT compiler works for .NET apps.
ms.date: 10/29/2021
ms.topic: reference
---
Expand Down
2 changes: 1 addition & 1 deletion docs/core/runtime-config/debugging-profiling.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Debugging profiling config settings
description: Learn about run-time settings that configure debugging and profiling for .NET Core apps.
description: Learn about run-time settings that configure debugging and profiling for .NET apps.
ms.date: 11/27/2019
ms.topic: reference
---
Expand Down
2 changes: 1 addition & 1 deletion docs/core/runtime-config/garbage-collector.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Garbage collector config settings
description: Learn about run-time settings for configuring how the garbage collector manages memory for .NET Core apps.
description: Learn about run-time settings for configuring how the garbage collector manages memory for .NET apps.
ms.date: 04/20/2022
ms.topic: reference
---
Expand Down
2 changes: 1 addition & 1 deletion docs/core/runtime-config/networking.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Networking config settings
description: Learn about run-time settings that configure networking for .NET Core apps.
description: Learn about run-time settings that configure networking for .NET apps.
ms.date: 11/27/2019
ms.topic: reference
---
Expand Down
4 changes: 2 additions & 2 deletions docs/core/runtime-config/threading.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Threading config settings
description: Learn about the settings that configure threading for .NET Core apps.
description: Learn about the settings that configure threading for .NET apps.
ms.date: 11/04/2021
ms.topic: reference
---
Expand Down Expand Up @@ -99,7 +99,7 @@ Project file:
- For projects on Windows, configures whether thread pool thread management is delegated to the Windows thread pool.
- If you omit this setting or the platform is not Windows, the .NET thread pool is used instead.
- Only applications published with Native AOT on Windows use the Windows thread pool by default, for which you can opt to use the .NET thread pool instead by disabling the config setting.
- The Windows thread pool may perform better in some cases, such as in cases where the minimum number of threads is configured to a high value, or when the Windows thread pool is already being heavily used by the app. There may also be cases where the .NET thread pool performs better, such as in heavy I/O handling on larger machines. It is advisable to check performance metrics when changing this config setting.
- The Windows thread pool may perform better in some cases, such as in cases where the minimum number of threads is configured to a high value, or when the Windows thread pool is already being heavily used by the app. There may also be cases where the .NET thread pool performs better, such as in heavy I/O handling on larger machines. It's advisable to check performance metrics when changing this config setting.
- Some APIs are not supported when using the Windows thread pool, such as <xref:System.Threading.ThreadPool.SetMinThreads%2A?displayProperty=nameWithType>, <xref:System.Threading.ThreadPool.SetMaxThreads%2A?displayProperty=nameWithType>, and <xref:System.Threading.ThreadPool.BindHandle%28System.Runtime.InteropServices.SafeHandle%29?displayProperty=nameWithType>. Thread pool config settings for minimum and maximum threads are also not effective. An alternative to <xref:System.Threading.ThreadPool.BindHandle%28System.Runtime.InteropServices.SafeHandle%29?displayProperty=nameWithType> is the <xref:System.Threading.ThreadPoolBoundHandle> class.

| | Setting name | Values | Version introduced |
Expand Down
29 changes: 29 additions & 0 deletions docs/core/runtime-config/wpf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: WPF config settings
description: Learn about the settings that configure WPF for .NET apps.
ms.date: 09/08/2023
ms.topic: reference
---
# Runtime configuration options for WPF

This article details the settings you can use to configure Windows Presentation Framework (WPF) in .NET.

[!INCLUDE [complus-prefix](../../../includes/complus-prefix.md)]

## Hardware acceleration in RDP

- Configures whether hardware acceleration is used for WPF apps that are accessed through Remote Desktop Protocol (RDP). Hardware acceleration refers to the use of a computer's graphics processing unit (GPU) to speed up the rendering of graphics and visual effects in an application. This can result in improved performance and more seamless, responsive graphics.
- If you omit this setting, graphics are rendered by software instead. This is equivalent to setting the value to `false`.

| | Setting name | Values | Version introduced
| - | - | - | - |
| **runtimeconfig.json** | `Switch.System.Windows.Media.EnableHardwareAccelerationInRdp` | `true` - enabled<br/>`false` - disabled | .NET 8 |
| **Environment variable** | N/A | N/A | |

You can also configure this setting by adding a `RuntimeHostConfigurationOption` item to your project file.

```xml
<ItemGroup>
<RuntimeHostConfigurationOption Include="Switch.System.Windows.Media.EnableHardwareAccelerationInRdp" Value="true" />
</ItemGroup>
```
Loading

0 comments on commit b667031

Please sign in to comment.