c# - 为什么更改项目设置的质量值需要将近 20-30 秒...> 使用脚本的质量?
问题描述
在画布上,我附加了一个脚本 SettingsMenu :
附加到 Canvas 的脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
using UnityEngine.UI;
public class SettingsMenu : MonoBehaviour
{
public AudioMixer audioMixer;
[SerializeField]
private Slider _volumeSlider;
[SerializeField]
private Dropdown _dropDownQuality;
public void SetVolume()
{
float volume = _volumeSlider.value;
audioMixer.SetFloat("Volume", volume);
}
public void SetQuality()
{
int qualityIndex = _dropDownQuality.value;
QualitySettings.SetQualityLevel(qualityIndex);
}
}
然后在 On Value Changed 的 Graphics (Ui DropDown) 上调用 SetQuality 函数:
然后在运行游戏时打开编辑>项目设置...>质量的窗口,当我在游戏中更改质量时,在大多数情况下它所采用的质量几乎需要 20-30 秒才能在编辑器中更改质量窗户。它应该实时改变它。
它在 Ultra 上启动,当我在游戏中将其更改为 LOW 时,在编辑器中将其从 Ultra 更改为 Low 需要 20-30 秒。
解决方案
根据文档:
Note that changing the quality level can be an expensive operation if the new level has different anti-aliasing setting. It's fine to change the level when applying in-game quality options, but if you want to dynamically adjustquality level at runtime, pass false to applyExpensiveChanges so that expensive changes are not always applied.
QualitySettings.SetQualityLevel(qualityIndex, false);
推荐阅读
- android - Flutter:如何赋予彩色容器不透明度?
- javascript - 生成子执行命令在 stdout.on('data') 上显示的文件比实际存在的文件多
- reactjs - 点击后反应组件不更新
- java - 如何将文件放在类路径中?
- angular - 如何在 TypeScript 中遍历这些数据?
- c# - 在 tablelayoutpanel 中看不到标签调整大小
- http - 我的 netty 程序有时会出现“对等连接重置”之类的异常
- mysql - 如何将多个表和组 concat 连接到一个查询中
- angular - 在模块导入时使用不同的服务
- ios - XLForm 多级选择器