endFrame method

  1. @override
PerfStats endFrame(
  1. dynamic _
)
override

Completes frame timing and returns statistics.

Implementation

@override
PerfStats endFrame(dynamic _) {
  _sw.stop();
  final cpuMs = _sw.elapsedMicroseconds / 1000.0;
  final cpuAvg = _cpu.add(cpuMs);

  if (_pendingFinish) {
    final s = Stopwatch()..start();
    gl.gl.glFinish();
    s.stop();
    _gpu.add(s.elapsedMicroseconds / 1000.0);
    _pendingFinish = false;
  }

  return PerfStats(
    cpuMsAvg: cpuAvg,
    gpuMsAvg: _gpu.value == 0 ? null : _gpu.value,
  );
}