예제 #1
0
        /// <summary>
        /// 将数据添加到性能分析器中
        /// </summary>
        /// <param name="arg">参数</param>
        /// <param name="value">值</param>
        public void AddPerformance(PerformanceArg arg, float value)
        {
            int tIndex = (int)arg;

            if (_PerformanceDataCount[tIndex] == LogMaxCount)
            {
                for (int i = 1; i < LogMaxCount; ++i)
                {
                    // 前移一个数据,腾出最后一个位置
                    _PerformanceData[tIndex, i - 1] = _PerformanceData[tIndex, i];
                }
                _PerformanceData[tIndex, LogMaxCount - 1] = value;
            }
            else
                _PerformanceData[tIndex, _PerformanceDataCount[tIndex]++] = value;

            // 检查数据最大值
            float tMaxValue = 0;
            for (int i = 0; i < _PerformanceDataCount[tIndex]; ++i)
                tMaxValue = Math.Max(tMaxValue, _PerformanceData[tIndex, i]);
            if (tMaxValue != 0)
                _PerformaceMax[tIndex] = _PerformaceUnit[tIndex] * (float)Math.Ceiling(tMaxValue / _PerformaceUnit[tIndex]);
            else
                _PerformaceMax[tIndex] = _PerformaceUnit[tIndex];

            // 通知控件刷新
            Invalidate();
        }
예제 #2
0
        /// <summary>
        /// 将数据添加到性能分析器中
        /// </summary>
        /// <param name="arg">参数</param>
        /// <param name="value">值</param>
        public void AddPerformance(PerformanceArg arg, float value)
        {
            int tIndex = (int)arg;

            if (_PerformanceDataCount[tIndex] == LogMaxCount)
            {
                for (int i = 1; i < LogMaxCount; ++i)
                {
                    // 前移一个数据,腾出最后一个位置
                    _PerformanceData[tIndex, i - 1] = _PerformanceData[tIndex, i];
                }
                _PerformanceData[tIndex, LogMaxCount - 1] = value;
            }
            else
            {
                _PerformanceData[tIndex, _PerformanceDataCount[tIndex]++] = value;
            }

            // 检查数据最大值
            float tMaxValue = 0;

            for (int i = 0; i < _PerformanceDataCount[tIndex]; ++i)
            {
                tMaxValue = Math.Max(tMaxValue, _PerformanceData[tIndex, i]);
            }
            if (tMaxValue != 0)
            {
                _PerformaceMax[tIndex] = _PerformaceUnit[tIndex] * (float)Math.Ceiling(tMaxValue / _PerformaceUnit[tIndex]);
            }
            else
            {
                _PerformaceMax[tIndex] = _PerformaceUnit[tIndex];
            }

            // 通知控件刷新
            Invalidate();
        }