Merge pull request #18998 from Calinou/customizable-performance-reporting-rate

Make the performance reporting update frequency customizable
This commit is contained in:
Max Hilbrunner 2018-05-26 17:31:52 +02:00 committed by GitHub
commit 16974d81d8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 8 deletions

View file

@ -1706,7 +1706,7 @@ bool Main::start() {
uint64_t Main::last_ticks = 0;
uint64_t Main::target_ticks = 0;
uint32_t Main::frames = 0;
Array Main::frame_times = Array();
uint32_t Main::frame = 0;
bool Main::force_redraw_requested = false;
@ -1825,10 +1825,19 @@ bool Main::iteration() {
script_debugger->idle_poll();
}
frames++;
Engine::get_singleton()->_idle_frames++;
if (frame > 1000000) {
// FPS counter
frame_times.push_back(ticks);
int frames = frame_times.size();
while (frame_times.size() > 0 && (int)frame_times.get(0) <= ticks - 1000000) {
frame_times.pop_front();
}
int update_frequency = MAX(1, (int)GLOBAL_GET("debug/settings/performance/update_frequency_msec"));
if (frame > update_frequency * 1000) {
if (editor || project_manager) {
if (print_fps) {
@ -1844,8 +1853,7 @@ bool Main::iteration() {
idle_process_max = 0;
physics_process_max = 0;
frame %= 1000000;
frames = 0;
frame %= update_frequency * 1000;
}
if (fixed_fps != -1)