QueryPerformanceCounter() private method

private QueryPerformanceCounter ( long &lpPerformanceCount ) : bool
lpPerformanceCount long
return bool
Ejemplo n.º 1
0
        //only use this after a call to ReadyForNextFrame.
        public double TimeElapsed()
        {
            _lastTimeElapsed = _timeElapsed;


            QueryPerformanceWrapper.QueryPerformanceCounter(out _currentTime);

            _timeElapsed = (_currentTime - _lastTimeInTimeElapsed) * _timeScale;

            _lastTimeInTimeElapsed = _currentTime;


            if (_smoothUpdates)
            {
                if (_timeElapsed < (_lastTimeElapsed * Smoothness))
                {
                    return(_timeElapsed);
                }

                else
                {
                    return(0.0);
                }
            }

            else
            {
                return(_timeElapsed);
            }
        }
Ejemplo n.º 2
0
        public void Start()
        {
            _started = true;

            _timeElapsed = 0.0;

            //get the time
            QueryPerformanceWrapper.QueryPerformanceCounter(out _lastTime);

            //keep a record of when the timer was started
            _startTime = _lastTimeInTimeElapsed = _lastTime;

            //update time to render next frame
            _nextTime = _lastTime + _frameTime;
        }
Ejemplo n.º 3
0
        public bool ReadyForNextFrame()
        {
            Debug.Assert(Math.Abs(_normalFPS) > double.MinValue, "PrecisionTimer::ReadyForNextFrame<No FPS set in timer>");

            QueryPerformanceWrapper.QueryPerformanceCounter(out _currentTime);

            if (_currentTime > _nextTime)
            {
                _timeElapsed = (_currentTime - _lastTime) * _timeScale;
                _lastTime    = _currentTime;

                //update time to render next frame
                _nextTime = _currentTime + _frameTime;

                return(true);
            }

            return(false);
        }