public override void OnEnter() { shareData = PerformanceCheckManager.Instance.flowShareData; reslutData = PerformanceCheckManager.Instance.ReslutData; reslutData.NotDoPerformanceCheck = false; reslutData.VeryLowMachine = false; reslutData.GeometricRenderLevel = 1; reslutData.ImageEffectRenderLevel = 1; currCheckStep = 0; timer = 0.0f; finishRenderingTest = false; NeedToWaitTime = -1; }
void ExportInfo() { PerformanceCheckManager.PerformanceCheckReslut result = PerformanceCheckManager.Instance.ReslutData; string path = ViewConfigManager.GetConfigFullPath(PerformanceCheckManager.confingFileName, false); System.IO.StreamWriter writer = new System.IO.StreamWriter(path, false, new System.Text.UTF8Encoding(true)); string s = ""; s = "PerformanceCheckVersion" + "," + PerformanceCheckManager.currPerformanceCheckVersion; writer.WriteLine(s); s = "Fps" + "," + PerformanceCheck_FPS.currFPS; writer.WriteLine(s); s = "NotDoPerformanceCheck" + "," + result.NotDoPerformanceCheck; writer.WriteLine(s); s = "VeryLowMachine" + "," + result.VeryLowMachine; writer.WriteLine(s); s = "notSupportRT" + "," + result.notSupportRT; writer.WriteLine(s); s = "notSupportHighLevel" + "," + result.notSupportHighLevel; writer.WriteLine(s); s = "GeometricRenderLevel" + "," + result.GeometricRenderLevel; writer.WriteLine(s); s = "ImageEffectRenderLevel" + "," + result.ImageEffectRenderLevel; writer.WriteLine(s); s = "ReslutImageFlags" + "," + flag; writer.WriteLine(s); writer.Flush(); writer.Close(); writer = null; }
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; } }