コード例 #1
0
        override public PerformanceDataRecord Update()
        {
            // GameSDK API is very slow (~4ms per call), so update those numbers once per frame from another thread

            float timeSinceStartup = Time.time;

            m_GPUTime.Update(timeSinceStartup);

            bool tempChanged = m_MainTemperature.Update(timeSinceStartup);

            lock (m_DataLock)
            {
                if (tempChanged)
                {
                    m_Data.ChangeFlags     |= Feature.TemperatureLevel;
                    m_Data.TemperatureLevel = GetTemperatureLevel();
                }

                m_Data.GpuFrameTime = LatestGpuFrameTime();
                m_Data.ChangeFlags |= Feature.GpuFrameTime;

                PerformanceDataRecord result = m_Data;
                m_Data.ChangeFlags = Feature.None;

                return(result);
            }
        }
コード例 #2
0
        override public PerformanceDataRecord Update()
        {
            // GameSDK API is very slow (~4ms per call), so update those numbers once per frame from another thread

            float timeSinceStartup = Time.time;

            m_GPUTime.Update(timeSinceStartup);

            bool tempChanged = m_MainTemperature.Update(timeSinceStartup);

            if (m_PerformanceLevelControlSystemChange)
            {
                var temperatureLevel = (float)m_SkinTemp.value;
                if (temperatureLevel < 5)
                {
                    m_PerformanceLevelControlSystemChange = false;
                    lock (m_DataLock)
                    {
                        m_Data.PerformanceLevelControlAvailable = true;
                        m_Data.ChangeFlags |= Feature.PerformanceLevelControl;
                    }
                }
            }

            lock (m_DataLock)
            {
                if (tempChanged)
                {
                    m_Data.ChangeFlags     |= Feature.TemperatureLevel;
                    m_Data.TemperatureLevel = GetTemperatureLevel();
                }

                m_Data.GpuFrameTime = LatestGpuFrameTime();
                m_Data.ChangeFlags |= Feature.GpuFrameTime;

                PerformanceDataRecord result = m_Data;
                m_Data.ChangeFlags = Feature.None;

                return(result);
            }
        }