#include "Gedeng/Application.h" #include "Gedeng/Time.h" #include "Gedeng/Logger.h" namespace Gedeng { void Application::run() { unsigned long previous_time_ms = Time::get_time_ms(); unsigned long time_until_fixed_update_ms = 0.0; while (true) { unsigned long current_time_ms = Time::get_time_ms(); unsigned long elapsed_time_ms = current_time_ms - previous_time_ms; previous_time_ms = current_time_ms; time_until_fixed_update_ms += elapsed_time_ms; // Process Input // Update fixed time step while (time_until_fixed_update_ms >= MS_PER_UPDATE) { // Fixed Update GG_CORE_INFO("Fixed Update"); time_until_fixed_update_ms -= MS_PER_UPDATE; } // Variable update GG_CORE_INFO("Variable Update"); } } } // namespace Gedeng