void UpdateReslutUI(ImageQuality quality, ReslutImageFlags flag = ReslutImageFlags.None) { //PerformanceCheckUI_Reslut uiInstance = PerformanceCheckManager.Instance.flowShareData.ui_Reslut; //uiInstance.gameObject.SetActive(true); if (flag == ReslutImageFlags.OpenOhtersImageEffects) { //uiInstance.tips.text = "您的检测结果为<color=red>" + PerformanceCheckManager.GetImageQualityDesc(quality) + ",</color>由于您的计算机性能较高,系统为您开启了一些额外的渲染效果," + // "您可以在<color=red>登入游戏后按[ESC]->视频设置</color>中修改您的选项。正在进入游戏....."; ImageSetting.Clear(); EndPerformanceCheck(); } else if (flag == ReslutImageFlags.NotSupportFullGoodImageEffect) { UpdateReslut_NotSupportGoodImangeEffect(quality); } else if (flag == ReslutImageFlags.NotSupportFullBestImageEffect) { UpdateReslut_NotSupportBestImangeEffect(quality); } else if (flag == ReslutImageFlags.NotSupportFullHighImageEffect) { UpdateReslut_NotSupportHighImangeEffect(quality); } else { //uiInstance.tips.text = "您的检测结果为<color=red>" + PerformanceCheckManager.GetImageQualityDesc(quality) + ",</color>" + // "您可以在<color=red>登入游戏后按[ESC]->视频设置</color>中修改您的选项。正在进入游戏....."; ImageSetting.Clear(); EndPerformanceCheck(); } }
void FihishWithNormal() { //看看几何等级 PerformanceCheckManager.PerformanceCheckReslut reslut = PerformanceCheckManager.Instance.ReslutData; if (reslut.GeometricRenderLevel <= 1 || reslut.ImageEffectRenderLevel <= 1)//最低级 { ImageSetting.SetImageQuality(ImageQuality.Fastest); ImageSetting.ResetOthersSettings(); UpdateReslutUI(ImageQuality.Fastest); return; } //中级情况1,所有都通过了 if (reslut.GeometricRenderLevel == 2 && reslut.ImageEffectRenderLevel == 2) { ImageSetting.SetImageQuality(ImageQuality.Good); ImageSetting.ResetOthersSettings(); UpdateReslutUI(ImageQuality.Good); return; } //中级情况2,通过了几何,没有通过后处理测试 if (reslut.GeometricRenderLevel == 2) { ImageSetting.SetImageQuality(ImageQuality.Good); ImageSetting.ResetOthersSettings(); flag = ReslutImageFlags.NotSupportFullGoodImageEffect; UpdateReslutUI(ImageQuality.Good, flag); return; } //高级情况1,所有都通过了 if (reslut.GeometricRenderLevel == 3 && reslut.ImageEffectRenderLevel == 3) { ImageSetting.SetImageQuality(ImageQuality.High); ImageSetting.ResetOthersSettings(); UpdateReslutUI(ImageQuality.High); return; } //高级情况2,通过了几何,没有通过后处理测试 if (reslut.GeometricRenderLevel == 3) { ImageSetting.SetImageQuality(ImageQuality.High); ImageSetting.ResetOthersSettings(); flag = ReslutImageFlags.NotSupportFullHighImageEffect; UpdateReslutUI(ImageQuality.High, flag); return; } //最高级情况1,所有测试都通过了 if (reslut.GeometricRenderLevel == 4 && reslut.ImageEffectRenderLevel == 4) { //再看一下帧数,帧数超过70fps,可以把抗锯齿和Bloom开启来 //如果真是超过80fps,可以把抗锯齿,bloom和ao开起来 ImageSetting.SetImageQuality(ImageQuality.Best); ImageSetting.ResetOthersSettings(); ImageSetting.GetData().AdvanceImageEffectEnabled = 1; if (PerformanceCheck_FPS.currFPS > PerformanceCheckManager.PassLevleFps * 1.3f) { ImageSetting.GetData().FXAAEnabled = 1; ImageSetting.GetData().BloomAndFlaresEnabled = 1; flag = ReslutImageFlags.OpenOhtersImageEffects; if (PerformanceCheck_FPS.currFPS > PerformanceCheckManager.PassLevleFps * 1.4f) { ImageSetting.GetData().SSAOEnabled = 1; } } UpdateReslutUI(ImageQuality.Best, flag); return; } //最高级情况2,只通过了几何图形测试,没有通过后处理,这种情况是显卡的能力不足,给予两种选择 //1。降低分辨率 //2.关闭后处理 if (reslut.GeometricRenderLevel == 4) { ImageSetting.SetImageQuality(ImageQuality.Best); ImageSetting.ResetOthersSettings(); flag = ReslutImageFlags.NotSupportFullBestImageEffect; UpdateReslutUI(ImageQuality.Best, flag); return; } }