异步纹理和网格数据上传提供了在渲染线程上对内存和时间切片进行严格控制的异步纹理和网格数据上传。除了驱动程序必须执行的操作之外,没有其他分配。为了读取数据并上传纹理和网格数据,Unity 会重复使用一个环形缓冲区,其大小可以控制。
使用 asyncUploadBufferSize 设置异步纹理和网格数据上传的缓冲区大小。最小值为 2 兆字节,最大值为 2047 兆字节。缓冲区会自动调整大小以适应当前加载的最大纹理。为了避免缓冲区调整大小(这可能会使用额外的系统资源),请将此值设置为场景中最大纹理的大小。如果您遇到内存使用过度的問題,您可能需要减小此缓冲区的值或禁用 asyncUploadPersistentBuffer。如果您选择后一个选项,可能会出现内存碎片。
using UnityEngine;
public class StartupExampleScript : MonoBehaviour { void Start() { // Set Ring Buffer Size to 16 MB. QualitySettings.asyncUploadBufferSize = 16; } }
其他资源:质量设置。