# Windows 播放器设置

> Customize how Unity builds and displays your final application when targeting the Windows platform.

本页面将详细介绍 Windows 特有的\_\_播放器 (Player)\_\_。有关常规\_\_播放器\_\_设置的描述，请参阅[播放器设置 (Player Settings)](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings.md) 相关文档。


**Windows 播放器设置:**
![](/api/media?file=/engine/6000.0/media/images/WindowsPlayerSettings.png)

您可以在以下部分找到这些属性的文档：

* [图标](#Icon)
* [分辨率和演示](#Resolution)
* [启动画面](#Splash)
* [其他设置](#Other)

## 图标##icon

启用\_\_覆盖 Windows、Mac、Linux (Override for Windows, Mac, Linux)\_\_ 设置，为桌面游戏指定自定义图标。可以上传不同大小的图标来填充提供的每个方块。


**桌面平台的图标设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCIcon.png)

## 分辨率和演示##resolution-and-presentation

使用\_\_分辨率和演示 (Resolution and Presentation)\_\_ 部分可在[分辨率 (Resolution)](#Resolution1) 和[独立平台播放器选项 (Standalone Player Options)](#Resolution2) 部分中自定义屏幕的外观方面。

### 分辨率##resolution

此部分可以自定义屏幕模式和默认大小。


**桌面播放器平台的分辨率部分:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCRes.png)

| **属性**                           | **描述**                                                                                    |                                                                                                                                                                                                                                                   |
| -------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Run In background**            | 启用此选项可在应用程序失去焦点时继续在后台运行。禁用时，应用程序会在失去焦点时暂停。                                                |                                                                                                                                                                                                                                                   |
| **Fullscreen Mode**              | 选择全屏模式。此设置定义了启动时的默认窗口模式。                                                                  |                                                                                                                                                                                                                                                   |
|                                  | **Fullscreen Window**                                                                     | 将应用程序窗口设置为全屏原生显示分辨率，覆盖整个屏幕。此模式也称为无边框全屏。Unity 会根据脚本设置的分辨率渲染应用程序内容，如果没有设置，则使用原生显示分辨率，并将其缩放以填充窗口。在缩放过程中，Unity 会添加黑边以匹配显示宽高比，从而防止内容拉伸。这一过程称为[黑边填充](https://en.wikipedia.org/wiki/Letterboxing_\(filming\))。操作系统界面（例如 IME 输入窗口）会显示在全屏窗口的顶部。所有平台均支持此模式。 |
|                                  | **独占全屏（仅限 Windows）**                                                                      | 设置应用程序以独占方式全屏使用显示器。与**全屏窗口**不同，此模式会更改显示器的操作系统分辨率以匹配应用程序选择的分辨率。仅在 Windows 操作系统上支持。                                                                                                                                                                 |
|                                  | **最大化窗口（仅限 Windows 和 Mac）**                                                               | 将应用程序窗口设置为操作系统的**最大化**状态。在 Windows 上，这是一个带有标题栏的全屏窗口。在 macOS 上，这是一个带有隐藏菜单栏和停靠栏的全屏窗口。对于其他平台，默认设置为**全屏窗口**。                                                                                                                                          |
|                                  | **窗口化**                                                                                   | 将应用程序设置为标准的非全屏可移动窗口，窗口大小取决于应用程序的分辨率。在此模式下，默认情况下窗口可调整大小。可以通过[可调整窗口大小](#resizable)设置禁用此功能。所有桌面平台都支持此全屏模式。                                                                                                                                           |
| **Default Is Native Resolution** | 启用此选项可使游戏使用目标设备的默认分辨率。**注意**：如果将\_\_全屏模式\_\_设置为**窗口化**，此属性将不可见。                           |                                                                                                                                                                                                                                                   |
| **Default Screen Width**         | 设置游戏画面的默认宽度（以像素为单位）。**注意**：仅当\_\_全屏模式\_\_设置为**窗口化**时，此属性才可见。                              |                                                                                                                                                                                                                                                   |
| **Default Screen Height**        | 设置游戏画面的默认高度（以像素为单位）。**注意**：仅当\_\_全屏模式\_\_设置为**窗口化**时，此属性才可见。                              |                                                                                                                                                                                                                                                   |
| **Mac Retina Support**           | 启用此选项可在 Mac 上启用高 DPI (Retina) 屏幕支持。Unity 默认情况下启用此功能。启用后可提升在 Retina 显示屏上的显示效果，但会增加一定的资源消耗。 |                                                                                                                                                                                                                                                   |

### 独立平台播放器选项##standalone-player-options

使用**独立平台播放器选项 (Standalone Player Options)** 可指定用户可以如何自定义屏幕。例如，可以决定用户是否可以调整屏幕大小以及可以同时运行多少个实例。


**独立平台播放器平台的 Standalone Player Options 设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCStand.png)

| **属性**                                       | **描述**                                                                                                                                                                                                                                                  |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Use Player Log**                           | 启用此选项可向日志文件写入调试信息。默认情况下会启用此选项。                                                                                                                                                                                                                          |
| **Resizable Window**                         | 启用此选项可调整桌面端播放器窗口的大小。**注意：**如果禁用此选项，则应用程序无法使用**窗口化**[全屏模式](#fullscreen)。                                                                                                                                                                                 |
| **Visible in Background**                    | 如果已使用**窗口化**[全屏模式](#fullscreen)，启用此选项可在背景中显示应用程序。\*\*注意：\*\*这会导致无法使用最小化应用程序窗口的键盘快捷键（例如 `Alt+Tab` 和 `Windows+M`）。有关更多信息，请参阅 [PlayerSettings.visibleInBackground](/engine/6000.0/script-reference/unity-editor/player-settings/visible-in-background.md)。 |
| **Allow Fullscreen Switch**                  | 启用此选项可允许通过默认操作系统全屏按键在全屏模式和窗口模式之间切换。                                                                                                                                                                                                                     |
| **Force Single Instance**                    | 启用此选项可将桌面端播放器限制为单个并发运行实例。                                                                                                                                                                                                                               |
| **Use DXGI flip model swap chain for D3D11** | 使用翻转模型可确保最佳性能。此设置会影响 D3D11 图形 API。禁用此选项可回退到 Windows 7 风格的 BitBlt 模型。有关更多信息，请参阅 [PlayerSettings.useFlipModelSwapchain](/engine/6000.0/script-reference/unity-editor/player-settings/use-flip-model-swapchain.md)。                                        |

## 启动画面##splash-image

使用\_\_虚拟现实启动画面 (Virtual Reality Splash Image)\_\_ 设置以选择[虚拟现实 (Virtual Reality)](/engine/6000.0/manual/platform-specific/xr.md) 显示的自定义启动画面。有关常见启动画面 (Splash Screen) 设置的信息，请参阅[启动画面](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings/splash-screen.md)。


**桌面平台的启动画面播放器设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCSplash.png)

## 其他设置##other-settings

此部分可以自定义一系列选项，这些选项分为以下几组：

* [渲染](#Rendering)
* [Vulkan 设置](#Vulkan)
* [配置](#Configuration)
* [着色器设置](#ShaderSettings)
* [着色器变体加载设置](#ShaderVariantLoading)
* [优化](#Optimization)
* [堆栈跟踪](#Logging)
* [旧版](#Legacy)
* [捕获日志](#CaptureLogs)

### 渲染##rendering

使用这些设置可自定义 Unity 针对桌面平台渲染游戏的方式。

{ /*  This table uses single sourcing. For information on how to edit it, see https://confluence.unity3d.com/display/DOCS/Single-sourcing+table+rows.  */ }

| **属性**            | **描述**                                           |
| ----------------- | ------------------------------------------------ |
| **MSAA Fallback** | 如果设备不支持用户请求的采样数，请选择多重采样抗锯齿回退策略来进行采样数升级或降级。       |
| **升级**            | 采样数量会减少到受支持的最近较低采样数量。                            |
| **降级**            | 采样数量会增加到下一个更高的采样数量。如果不支持该采样数量，则会减少到受支持的最近较低采样数量。 |

### Vulkan 设置##vulkan-settings


**macOS 的 Vulkan 播放器设置。:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Vulkan.png)

| **属性** | **描述** |
| ------ | ------ |

### 配置##configuration


**桌面平台的配置设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Config.png)

| **属性**                                  | **描述**                                                                              |
| --------------------------------------- | ----------------------------------------------------------------------------------- |
| **IL2CPP Code Generation**              | 定义 Unity 如何管理 IL2CPP 代码生成。只有在使用 IL2CPP 脚本后端时才附带此选项。                                 |
| **更快的运行时 (Faster runtime)**             | 生成针对运行时性能进行优化的代码。默认情况下会激活此设置。                                                       |
| **更快（更小）的构建 (Faster (smaller) builds)** | 生成针对构建大小和迭代进行优化的代码。此设置生成的代码更少，生成的构建更小，但可能会降低通用代码的运行时性能。当需要更快的构建时间时（例如迭代更改时），请使用此选项。 |

#### API 兼容性级别##api-compatibility-level

可为所有目标选择 mono API 兼容性级别。有时，第三方 .NET 库会使用 .NET 兼容性级别之外的功能。为了解在这种情况下可能发生的问题以及如何以最佳方案修复问题，请尝试以下解决方案：

1. 安装适用于 Windows 的 [ILSpy](https://www.microsoft.com/en-us/p/ilspy/9mxfbkfvsq13?cid=msft_web_chart\&activetab=pivot:overviewtab)。
2. 将遇到问题的 API 兼容性级别的 .NET 程序集拖入 ILSpy。这些可以在 `Frameworks/Mono/lib/mono/YOURSUBSET/` 下找到。
3. 拖入第三方程序集。
4. 右键单击第三方程序集并选择**分析 (Analyze)**。
5. 在分析报告中，检查**取决于 (Depends on)** 部分。若第三方程序集所依赖的内容在所选的 .NET 兼容性级别中不可用，这些内容将以红色字体显示。

### 着色器设置##shader-settings

| **属性** | **描述** |
| ------ | ------ |

### 着色器变体加载设置##shader-variant-loading-settings

使用这些设置可以控制着色器在运行时的内存使用量。

| **属性**                      | **描述**                                                                                                                                                                                                        |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Default chunk size (MB)** | 设置 Unity 在构建的应用程序中为所有平台存储的压缩着色器变体数据块的最大大小。默认值为 `16`。有关更多信息，请参阅[着色器加载](/engine/6000.0/manual/materials-and-shaders/shaders/shader-troubleshooting/shader-reduce-stalling/shader-loading.md.md#dynamicloading)。 |
| **Default chunk count**     | 设置 Unity 在所有平台上保留在内存中的解压缩块数量的默认限制。默认值为 `0`，表示无限制。                                                                                                                                                             |
| **Override**                | 启用此选项可为此构建目标覆盖\_\_默认块大小\_\_和\_\_默认块数量\_\_的设置。                                                                                                                                                                 |
| **Chunk size (MB)**         | 覆盖此构建目标上的\_\_默认块大小 (MB)\_\_ 值。                                                                                                                                                                                |
| **Chunk count**             | 覆盖此构建目标上的\_\_默认块数量\_\_值。                                                                                                                                                                                      |

### 脚本编译##script-compilation


**桌面平台的脚本编译设置:**
![](/api/media?file=/engine/6000.0/media/images/ProjectSettingsScriptCompilation.png)

| **属性**                            | **描述**                                                                                                                                                                                                              |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Scripting Define Symbols**      | 设置自定义编译标志。有关更多详细信息，请参阅[平台相关的编译](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/platform-dependent-compilation.md)。                                          |
| **Additional Compiler Arguments** | 向此列表添加条目，以将附加参数传递给 Roslyn 编译器。每个附加参数使用一个新条目。要创建新条目，请按“+”按钮。要删除条目，请按“-”按钮。添加完所有所需参数后，单击**应用 (Apply)** 按钮，以便在后续编译中包含这些附加参数。**还原 (Revert)** 按钮可将此列表重置为最新应用的状态。                                                         |
| **Suppress Common Warnings**      | 禁用此设置可显示 C# 警告 [CS0169](https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0169) 和 [CS0649](https://docs.microsoft.com/en-us/dotnet/csharp/misc/CS0649)。                                                         |
| **Allow 'unsafe' Code**           | 启用对预定义程序集（例如，`Assembly-CSharp.dll`）中[“不安全”C# 代码](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/unsafe)的编译。对于程序集定义文件 (`.asmdef`)，请选中其中一个 `.asmdef` 文件，并在打开的检视面板 (Inspector) 窗口中启用该选项。   |
| **Use Deterministic Compilation** | 禁用此设置可停止使用 -deterministic C# 编译标志。启用此设置后，每次编译生成的程序集在字节级别上完全相同。有关更多信息，请参阅 Microsoft 的[确定性编译器选项](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option)文档。 |

### 优化##optimization


**桌面平台的优化设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Optimize.png)

| **属性** | **描述** |
| ------ | ------ |

### 堆栈跟踪##stack-trace

根据所需的日志记录类型，启用与每种日志类型（**Error**、**Assert**、**Warning**、**Log** 和 **Exception**）对应的选项，以选择首选的堆栈跟踪方法。有关更多信息，请参阅[堆栈跟踪日志](/engine/6000.0/manual/stack-trace.md.md)记录。

| **属性**         | **描述**       |
| -------------- | ------------ |
| **无**          | 从不记录任何日志。    |
| **ScriptOnly** | 仅在运行脚本时记录日志。 |
| **Full**       | 始终记录日志。      |

### 旧版##legacy

| **属性**                     | **描述**                                                                                                                                                                |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Clamp BlendShapes（已弃用）** | 启用此选项可在 [SkinnedMeshRenderer](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/mesh/components-reference/class-skinned-mesh-renderer.md) 中限制混合形状权重的范围。 |

### 捕获日志##capture-logs

| **属性**                   | **描述**                       |
| ------------------------ | ---------------------------- |
| **Capture Startup Logs** | 启用此选项可在应用程序启动期间在日志文件中生成调试信息。 |
