提示コードですが以下のエラーが出ます、どうすれば標準ライブラリのみでフレームレートを60fpsに制御できるのでしょうか? Now();
関数で時間を取得して待機する時に最初に記憶しておいた時間と今の時間の差分を取って待機時間 = 16.000 - 差分
なる計算をしたいのですが上手く処理が作れません。
参考サイト: https://cpprefjp.github.io/reference/chrono/time_point.html
g++ -c -MMD -MP source/Fps.cpp -o obj/Fps.o source/Fps.cpp: In member function ‘void Fps::Wait()’: source/Fps.cpp:26:39: error: no matching function for call to ‘sleep_until(std::chrono::duration<long int, std::ratio<1, 1000000000> >&)’ 26 | std::this_thread::sleep_until(wait); | ^ In file included from source/../header/Fps.hpp:7, from source/Fps.cpp:3: /usr/include/c++/9/thread:388:7: note: candidate: ‘template<class _Clock, class _Duration> void std::this_thread::sleep_until(const std::chrono::time_point<_Clock, _Duration1>&)’ 388 | sleep_until(const chrono::time_point<_Clock, _Duration>& __atime) | ^~~~~~~~~~~ /usr/include/c++/9/thread:388:7: note: template argument deduction/substitution failed: source/Fps.cpp:26:39: note: ‘std::chrono::duration<long int, std::ratio<1, 1000000000> >’ is not derived from ‘const std::chrono::time_point<_Clock, _Duration1>’ 26 | std::this_thread::sleep_until(wait); | ^ make: *** [Makefile:16: obj/Fps.o] エラー 1
#ifndef ___FPS_H_ #define ___FPS_H_ #include <iostream> #include <chrono> #include <thread> #include <time.h> #include <fstream> class Fps { public: Fps(); ~Fps(); void Wait(); void Update(); private: unsigned int count; std::chrono::steady_clock::time_point start; std::chrono::steady_clock::time_point end; }; #endif
#include <iostream> #include <chrono> #include "../header/Fps.hpp" #include "../lib/ncurses/include/curses.h" #include "../header/Log.hpp" //using clock = std::chrono::steady_clock; Fps::Fps() { } void Fps::Wait() { using namespace std::chrono_literals; auto wait = std::chrono::steady_clock::now() - start; //do something std::this_thread::sleep_until(wait); } void Fps::Update() { start = std::chrono::steady_clock::now(); } Fps::~Fps() { }
複数アカウントの所持はteratailの利用規約違反ですが。
https://teratail.com/users/saijou_chan#reply
>第7条(禁止事項)
登録ユーザーは、本サービスの利用にあたり、以下の各号のいずれかに該当する行為または該当すると当社が判断する行為をしてはなりません。
(11) 複数のユーザーIDを1人で保有する行為