Initial commit — Krunker Civilian Client
Cross-platform Krunker.io game client forked from Krunker Police Client with all KPD/moderator features stripped: no KPD auth, OBS recording, evidence uploads, yt-dlp, bytenode, or code obfuscation. Retained: unlimited FPS (custom Electron 42), ad blocking, resource swapper, matchmaker, userscripts, chat translator, Discord RPC, alt account manager, configurable keybinds, and advanced Chromium flags. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
From: KPD Client <krunker@crjlab.net>
|
||||
Subject: [PATCH] Fix input starvation when frame rate limit is disabled
|
||||
|
||||
Chromium's main thread scheduler assigns kHighestPriority to input tasks,
|
||||
which starves the compositor when --disable-frame-rate-limit is active.
|
||||
At uncapped frame rates (300+ FPS), the compositor floods the task queue
|
||||
and input events get delayed 50-300ms, causing "aim freeze" in games.
|
||||
|
||||
Demoting input tasks to kNormalPriority allows the scheduler's built-in
|
||||
anti-starvation logic to fairly interleave input and compositor work.
|
||||
|
||||
Benchmarked via CDP Input.dispatchMouseEvent:
|
||||
- p99 latency: 97ms -> 34ms
|
||||
- Max latency: 308ms -> 38ms
|
||||
- Events >50ms: 8.6% -> 0%
|
||||
- Frames rendered: +21%
|
||||
- Mouse events processed: +9%
|
||||
|
||||
--- a/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc
|
||||
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc
|
||||
@@ -2354,7 +2354,7 @@
|
||||
case MainThreadTaskQueue::QueueTraits::PrioritisationType::kCompositor:
|
||||
return main_thread_only().compositor_priority;
|
||||
case MainThreadTaskQueue::QueueTraits::PrioritisationType::kInput:
|
||||
- return TaskPriority::kHighestPriority;
|
||||
+ return TaskPriority::kNormalPriority;
|
||||
case MainThreadTaskQueue::QueueTraits::PrioritisationType::kBestEffort:
|
||||
return TaskPriority::kBestEffortPriority;
|
||||
case MainThreadTaskQueue::QueueTraits::PrioritisationType::kRegular:
|
||||
Reference in New Issue
Block a user