fork download
  1. #include <iostream>
  2. #include <chrono>
  3. #include <ratio>
  4.  
  5. using namespace std::chrono;
  6.  
  7. const nanoseconds timePerFrame = duration_cast<nanoseconds>(duration<steady_clock::rep, std::ratio<1, 60>>(1));
  8. nanoseconds accumulator(0);
  9. nanoseconds counter(0);
  10. steady_clock::time_point begin;
  11. int i = 0;
  12.  
  13. int main()
  14. {
  15. while(true)
  16. {
  17. begin = steady_clock::now();
  18. while(accumulator >= timePerFrame)
  19. {
  20. accumulator -= timePerFrame;
  21. ++i;
  22. }
  23. counter += steady_clock::now() - begin;
  24. accumulator += steady_clock::now() - begin;
  25.  
  26. if(counter >= seconds(1))
  27. {
  28. std::cout << i << std::endl;
  29. break;
  30. }
  31. }
  32. }
Success #stdin #stdout 2.94s 16064KB
stdin
Standard input is empty
stdout
117