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;
 }
Esempio n. 2
0
    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;
    }
Esempio n. 3
0
    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;
        }
    }