Unity 提供了针对异步上传管线的优化设置。要访问这些设置,请打开项目的质量设置 (Quality Settings)。
请注意,无法配置同步上传管线的设置。
Unity 会重复使用单个环形缓冲区,将纹理和网格数据流式传输到 GPU。如此将减少所需的内存分配次数。
Async Upload Buffer 决定了此环形缓冲区的大小。该值的最小大小为 2 兆字节,最大大小为 2047 兆字节。
Unity 会自动调整缓冲区的大小,以适应当前加载的最大纹理或网格。这可能是一个缓慢的操作,尤其是在 Unity 必须多次执行该操作的情况下;例如,如果要加载许多大于默认缓冲区大小的纹理。为了减少 Unity 必须调整缓冲区大小的次数,请根据您期望加载的最大值设置该值。通常这是场景中最大的纹理。
可在质量设置 (Quality Settings) 窗口中或使用 QualitySettings.asyncUploadBufferSize API 来配置该值。
可使用 Async Upload Time Slice 来控制 CPU 上传纹理或网格数据到 GPU 所花费的时间量。该值以毫秒/帧为单位。
较大的值表示数据将更快地在 GPU 上准备就绪,但是 CPU 将在这些帧期间里花费更多时间进行上传操作。请注意,只有在缓冲区中有数据等待上传到 GPU 时,Unity 才使用此时间进行上传;如果没有等待的数据,Unity 可以将此时间用于其他操作。
可在质量设置 (Quality Settings) 窗口中或使用 QualitySettings.asyncUploadTimeSlice API 来配置该值。