# Linux 播放器设置

> Use Player Settings to set the different options required for the final game built by Unity applicable for the Linux platform. For a description of the general Player Settings, refer to Player Settings.

使用 Linux Unity 播放器设置（菜单：**编辑 (Edit)** > **项目设置 (Project Settings)** > **播放器 (Player)**）以确定 Unity 如何构建和显示 Linux 应用程序。有关常规播放器设置的描述，请参阅[播放器设置 (Player Settings)](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings.md#general) 相关文档。


**Linux 播放器设置:**
![](/api/media?file=/engine/6000.0/media/images/class-PlayerSettingsStandalone.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-section

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


**桌面平台的分辨率部分:**
![](/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

使用此部分可指定屏幕自定义设置。例如，可以设置选项用于让用户调整屏幕大小并指定可以同时运行的实例数。


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

| **属性**                                       | **功能**                                                                                                                                                                                                                                                                                                                                                                                                             |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Use Player Log**                           | 启用此选项可向日志文件写入调试信息。默认启用。\*\*警告：\*\*如果计划将应用程序提交到 Mac App Store，则禁用此选项。有关更多信息，请参阅[发布到 Mac App Store](#AppStore)。                                                                                                                                                                                                                                                                                                      |
| **Resizable Window**                         | 启用此选项可调整播放器窗口的大小。**注意：**如果禁用此选项，则应用程序无法使用**窗口化**[全屏模式](#fullscreen)。                                                                                                                                                                                                                                                                                                                                               |
| **Visible in Background**                    | 如果已使用**窗口化**[全屏模式](#fullscreen)，启用此选项可在背景中显示应用程序（在 Windows 中）。                                                                                                                                                                                                                                                                                                                                                     |
| **Allow Fullscreen Switch**                  | 启用此选项可允许通过默认操作系统全屏按键在全屏模式和窗口模式之间切换。                                                                                                                                                                                                                                                                                                                                                                                |
| **Force Single Instance**                    | 启用此选项可将桌面端播放器限制为单个并发运行实例。                                                                                                                                                                                                                                                                                                                                                                                          |
| **Use DXGI flip model swap chain for D3D11** | 使用翻转模型可确保呈现应用程序的最佳性能。每次需要显示帧时，Unity 都会创建交换链表面的副本并以 blit 方式将其传输到屏幕缓冲区。此设置会影响 D3D11 图形 API。禁用此选项可回退到 Windows 7 风格的 BitBlt 模型。在窗口化（无边框）全屏模式下运行时，Unity 会直接在屏幕上显示应用程序交换链，从而将输入延迟减少一帧，并消除桌面窗口管理器 (Desktop Window Manager) 完成的桌面合成，其方式与独占全屏相同。此优化称为“独立翻转 (Independent Flip)”。有关更多信息，请参阅 [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) 显示的自定义启动画面。有关常见的启动画面设置，请访问[启动画面](/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)
* [Mac App Store 选项](#AppStore)
* [配置](#Configuration)
* [着色器变体加载](#ShaderVariantLoading)
* [着色器变体加载设置](#ShaderVariantLoading)
* [脚本编译](#ScriptCompilation)
* [优化](#Optimization)
* [堆栈跟踪](#Logging)
* [旧版](#Legacy)

### 渲染##rendering

使用这些设置可自定义 Unity 针对桌面端（Windows、Mac、Linux）平台渲染游戏的方式。


**桌面平台的渲染播放器设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Rendering.png)

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

| **属性**                            | **描述**                                                                                                                                                                                               |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Auto Graphics API for Windows** | 启用此选项可在运行应用程序的 Windows 计算机上使用最佳图形 API。禁用此选项可添加和删除支持的图形 API。                                                                                                                                          |
| **Auto Graphics API for Mac**     | 启用此选项可在运行应用程序的 macOS 计算机上使用最佳图形 API。禁用此选项可添加和删除支持的图形 API。                                                                                                                                            |
| **Auto Graphics API for Linux**   | 启用此选项可在运行应用程序的 Linux 计算机上使用最佳图形 API。禁用此选项可添加和删除支持的图形 API。                                                                                                                                            |
| **color-gamut**                   | 此设置不适用于 Linux。                                                                                                                                                                                       |
| **GPU Skinning**                  | 启用此选项可使用着色器在 GPU 上计算网格蒙皮和混合形状。                                                                                                                                                                       |
| **Virtual Texturing（实验性）**        | 如果场景中有许多高分辨率纹理，启用此选项可以减少 GPU 内存使用量和纹理加载时间。有关更多信息，请参阅 [虚拟纹理](/engine/6000.0/manual/materials-and-shaders/textures/texture-loading/svt-streaming-virtual-texturing.md)。**注意**：Unity 编辑器需要重新启动才能使此设置生效。 |

### Vulkan 设置##vulkan-settings

| **属性**                                       | **描述**                                                                                                                                    |
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **SRGB Write Mode**                          | 启用此选项可以让 \[Graphics.SetSRGBWrite()] (ScriptRef:PlayerSettings-vulkanEnableSetSRGBWrite.html) 渲染器在运行时切换 sRGB 写入模式。使用此属性可停用线性到 sRGB 写入颜色转换。 |
| **Number of swapchain buffers**              | 使用 Vulkan 渲染器，可以将此选项设置为 2 表示双缓冲，设置为 3 表示三缓冲。此设置可能有助于解决某些平台上的延迟问题，但通常不应更改这个默认值 3。双缓冲可能会对性能产生负面影响。                                          |
| **Acquire swapchain image late as possible** | 启用此选项可在帧渲染到屏幕外临时图像后获取后备缓冲区。启用此设置会在呈现后备缓冲区时添加额外的 blit。此设置与双缓冲相结合可以提高性能。但是，由于额外的 blit 使用额外的带宽，因此也可能导致性能问题。                                  |
| **Recycle command buffers**                  | 启用此选项可在 Unity 执行 [CommandBuffer](/engine/6000.0/script-reference/unity-engine-rendering/command-buffer.md) 后回收它们。                         |

### Mac App Store 选项##configuration


**Mac App Store 选项:**
![](/api/media?file=/engine/6000.0/media/images/DeliverAppMacStore1.png)

本节中的属性仅适用于 macOS。有关更多信息，请参阅 [macOS 播放器设置](/engine/6000.0/manual/platform-specific/apple-mac/player-settings-mac-os.md#AppStore)。

### 配置##mac-configuration

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

| **属性**                        | **描述**         |
| ----------------------------- | -------------- |
| **IL2CPP Code Generation**    | 此设置不适用于 Linux。 |
| **C++ Compiler Configuraion** | 此设置不适用于 Linux。 |

#### 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 兼容性级别中不可用，这些内容将以红色字体显示。

### Mac 配置##shader-settings

本节仅适用于 macOS。有关更多信息，请参阅 [macOS 播放器设置](/engine/6000.0/manual/platform-specific/apple-mac/player-settings-mac-os.md#Configuration)。

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

| **属性**                             | **描述**                                                                                                                                                                                                              |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Shader Precision Model**         | 选择着色器使用的默认精度。有关更多信息，请参阅[在着色器中使用 16 位精度](/engine/6000.0/manual/materials-and-shaders/shaders/writing-custom/shader-writing/sl/writing-shader-writing-shader-programs-hlsl/shader-input/sl-use16bit-precision-in.md)。 |
| **平台默认值 (Platform default)**       | 在移动平台上使用较低的精度，在其他平台上使用全精度。                                                                                                                                                                                          |
| **统一 (Unified)**                   | 如果平台支持，请使用较低的精度。                                                                                                                                                                                                    |
| **Strict shader variant matching** | 如果缺少着色器变体并在控制台中显示错误，请使用错误着色器。                                                                                                                                                                                       |
| **Keep Loaded Shaders Alive**      | 保持所有加载的着色器处于活动状态，防止其被卸载。                                                                                                                                                                                            |

### 着色器变体加载设置##script-compilation

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

| **属性**                      | **描述**                                                                                                                                                                                                        |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **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**             | 覆盖此构建目标上的\_\_默认块数量\_\_值。                                                                                                                                                                                      |

### 脚本编译##optimization


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

| **属性**                       | **描述**                                                                                                                                                                                                    |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Scripting Define Symbols** | 设置自定义编译标志。有关更多详细信息，请参阅[平台相关的编译](/engine/6000.0/manual/platform-dependent-compilation.md.md)。                                                                                                              |
| **其他编译器参数**                  | 向此列表添加条目，以将附加参数传递给 Roslyn 编译器。每个附加参数使用一个新条目。要创建新条目，请点击 **Add** (**+**)。要删除条目，请点击 **Remove**（**-**）。添加完所有所需参数后，点击 **Apply**，以便在后续编译中包含这些附加参数。点击 **Revert** 可将此列表重置为最新应用的状态。                                |
| **禁止常见警告**                   | 指示是否显示 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` 文件，并在打开的检视面板窗口中启用该选项。    |
| **使用确定性编译**                  | 指定是否禁用 -deterministic C# 编译标志。启用此设置后，每次编译生成的程序集在字节级别上完全一致。有关更多信息，请参阅 [C# 编译器选项：控制代码生成](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option)。 |

### 优化##stack-trace


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

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

### 堆栈跟踪##legacy

通过启用与每种日志类型对应的选项来选择您的首选日志记录类型。

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

有关更多信息，请参阅[堆栈跟踪日志记录](/engine/6000.0/manual/scripting/debugging-and-diagnostics/stack-trace.md)。

### 旧版


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

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

## 其他资源##additional-resources

* [PlayerSettings API](/engine/6000.0/script-reference/unity-editor/player-settings.md)
* [静态批处理](/engine/6000.0/manual/rendering-and-post-processing/graphics-performance-profiling/reduce-draw-calls/draw-call-batching/static-batching/static-batching.md)
