Kelebek1 4 лет назад
Родитель
Сommit
b23c6b456c

+ 1 - 2
src/core/hle/kernel/kernel.cpp

@@ -245,8 +245,7 @@ struct KernelCore::Impl {
             });
 
         const auto time_interval = std::chrono::nanoseconds{std::chrono::milliseconds(10)};
-        system.CoreTiming().ScheduleLoopingEvent(std::chrono::nanoseconds(0), time_interval,
-                                                 preemption_event);
+        system.CoreTiming().ScheduleLoopingEvent(time_interval, time_interval, preemption_event);
     }
 
     void InitializeShutdownThreads() {

+ 3 - 4
src/core/hle/service/hid/hid.cpp

@@ -97,11 +97,10 @@ IAppletResource::IAppletResource(Core::System& system_,
             return std::nullopt;
         });
 
-    system.CoreTiming().ScheduleLoopingEvent(std::chrono::nanoseconds(0), pad_update_ns,
-                                             pad_update_event);
-    system.CoreTiming().ScheduleLoopingEvent(std::chrono::nanoseconds(0), mouse_keyboard_update_ns,
+    system.CoreTiming().ScheduleLoopingEvent(pad_update_ns, pad_update_ns, pad_update_event);
+    system.CoreTiming().ScheduleLoopingEvent(mouse_keyboard_update_ns, mouse_keyboard_update_ns,
                                              mouse_keyboard_update_event);
-    system.CoreTiming().ScheduleLoopingEvent(std::chrono::nanoseconds(0), motion_update_ns,
+    system.CoreTiming().ScheduleLoopingEvent(motion_update_ns, motion_update_ns,
                                              motion_update_event);
 
     system.HIDCore().ReloadInputDevices();

+ 1 - 1
src/core/hle/service/hid/hidbus.cpp

@@ -57,7 +57,7 @@ HidBus::HidBus(Core::System& system_)
             return std::nullopt;
         });
 
-    system_.CoreTiming().ScheduleLoopingEvent(std::chrono::nanoseconds(0), hidbus_update_ns,
+    system_.CoreTiming().ScheduleLoopingEvent(hidbus_update_ns, hidbus_update_ns,
                                               hidbus_update_event);
 }
 

+ 3 - 3
src/core/hle/service/nvflinger/nvflinger.cpp

@@ -73,14 +73,14 @@ NVFlinger::NVFlinger(Core::System& system_, HosBinderDriverServer& hos_binder_dr
             const auto lock_guard = Lock();
             Compose();
 
-            return std::chrono::nanoseconds(GetNextTicks()) - ns_late;
+            return std::max(std::chrono::nanoseconds::zero(),
+                            std::chrono::nanoseconds(GetNextTicks()) - ns_late);
         });
 
     if (system.IsMulticore()) {
         vsync_thread = std::jthread([this](std::stop_token token) { SplitVSync(token); });
     } else {
-        system.CoreTiming().ScheduleLoopingEvent(std::chrono::nanoseconds(0), frame_ns,
-                                                 composition_event);
+        system.CoreTiming().ScheduleLoopingEvent(frame_ns, frame_ns, composition_event);
     }
 }
 

+ 1 - 1
src/core/memory/cheat_engine.cpp

@@ -189,7 +189,7 @@ void CheatEngine::Initialize() {
             FrameCallback(user_data, ns_late);
             return std::nullopt;
         });
-    core_timing.ScheduleLoopingEvent(std::chrono::nanoseconds(0), CHEAT_ENGINE_NS, event);
+    core_timing.ScheduleLoopingEvent(CHEAT_ENGINE_NS, CHEAT_ENGINE_NS, event);
 
     metadata.process_id = system.CurrentProcess()->GetProcessID();
     metadata.title_id = system.GetCurrentProcessProgramID();