コード例 #1
0
        public static void SendAdaptivePerformanceThermalEvent(ThermalMetrics thermalMetrics)
        {
#if UNITY_ANALYTICS
            // Temperature level and trend will call the method more often but we do not want to send events
            if (s_LastWarningLevel == thermalMetrics.WarningLevel)
            {
                return;
            }

            switch (thermalMetrics.WarningLevel)
            {
            case WarningLevel.Throttling:
                s_AdaptivePerformanceThermalEvent.numThrottlingEventSinceStartup++; break;

            case WarningLevel.ThrottlingImminent:
                s_AdaptivePerformanceThermalEvent.numThrottlingImminentEventSinceStartup++; break;

            case WarningLevel.NoWarning:
                s_AdaptivePerformanceThermalEvent.numNoWarningEventSinceStartup++; break;
            }

            s_AdaptivePerformanceThermalEvent.currentTempLevel = thermalMetrics.TemperatureLevel;
            s_AdaptivePerformanceThermalEvent.currentTempTrend = thermalMetrics.TemperatureTrend;

            s_LastWarningLevel = thermalMetrics.WarningLevel;

            Send(EventName.AdaptivePerformanceThermal, s_AdaptivePerformanceThermalEvent);
#endif
        }
コード例 #2
0
    public IEnumerator ThermalEvent_Works()
    {
        var subsystem = AdaptivePerformance.StartupSettings.PreferredSubsystem as AdaptivePerformance.Provider.TestAdaptivePerformanceSubsystem;
        var ap        = AdaptivePerformance.Holder.Instance;
        var thermals  = ap.ThermalStatus;

        var metrics = new AdaptivePerformance.ThermalMetrics();

        AdaptivePerformance.ThermalEventHandler eventHandler = delegate(AdaptivePerformance.ThermalMetrics args)
        {
            metrics = args;
        };
        thermals.ThermalEvent += eventHandler;

        subsystem.TemperatureLevel = 0.3f;
        subsystem.TemperatureTrend = 0.5f;

        yield return(null);

        Assert.AreEqual(0.3f, metrics.TemperatureLevel, 0.0001f);
        Assert.AreEqual(0.5f, metrics.TemperatureTrend, 0.0001f);
    }
コード例 #3
0
 private void LogThermalEvent(ThermalMetrics ev)
 {
     APLog.Debug("[thermal event] temperature level: {0}, warning level: {1}, thermal trend: {2}", ev.TemperatureLevel, ev.WarningLevel, ev.TemperatureTrend);
 }
コード例 #4
0
 private void LogThermalEvent(ThermalMetrics ev)
 {
     AdaptivePerformanceAnalytics.SendAdaptivePerformanceThermalEvent(ev);
     APLog.Debug("[thermal event] temperature level: {0}, warning level: {1}, thermal trend: {2}", ev.TemperatureLevel, ev.WarningLevel, ev.TemperatureTrend);
 }