예, 프레임 속도를 제한하면 CPU로드가 줄어 듭니다.
또한 2000fps 인 경우 모니터에 모든 프레임이 표시되지 않으며 대개 60fps 만 표시됩니다. 낮은 엔드 PC와 대부분의 스마트 폰, CPU 등의 공유 (통합) GPU 메모리와 시스템에서
#include <boost/thread.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
long desiredFps=60;
void drawLoop() {
using namespace boost;
using namespace boost::posix_time;
ptime lastDraw = microsec_clock::universal_time();
while(true) {
ptime now = microsec_clock::universal_time();
long diff = (now-lastDraw).total_microseconds();
long desiredDiff = 1000000/desiredFps;
if(diff < desiredDiff) {
this_thread::sleep(microseconds(desiredDiff-diff));
}
draw();
lastDraw = now;
}
}
나는 동의하지 않습니다. 비록 그것이 유일하게 달리는 것이라해도, 그것은 배터리와 전력 요금을 죽이는 많은 힘을 이끌어냅니다. –
나는 "Think green!"이라고 말할 것입니다. – Luca
UX 조언 : 소프트웨어 만 설계하면 안됩니다. PC (Mac 포함) 사용자는 멀티 태스킹 환경을 기대하며 Alt + Tab 또는 응용 프로그램으로 돌아가려면 10 초 이상 기다리는 것이 이러한 환경에서는 매우 무례합니다. 스마트 폰 및 태블릿 사용자는 멀티 태스킹을 기대합니다. 게임 콘솔은 아마도 예외 일지 모르지만 저그와 관련된 경험은 거의 없습니다. –