From c55d1bfd01147fa014ac07d4b03ef3cad8427ae6 Mon Sep 17 00:00:00 2001
From: a1xd <68629610+a1xd@users.noreply.github.com>
Date: Thu, 8 Apr 2021 02:30:01 -0400
Subject: optimize a bit/refactor modify
---
driver/driver.cpp | 33 +++++++++++++--------------------
driver/driver.vcxproj | 12 ++++++++----
2 files changed, 21 insertions(+), 24 deletions(-)
(limited to 'driver')
diff --git a/driver/driver.cpp b/driver/driver.cpp
index fa2415d..feace77 100644
--- a/driver/driver.cpp
+++ b/driver/driver.cpp
@@ -23,6 +23,7 @@ struct {
extern "C" PULONG InitSafeBootMode;
+__declspec(guard(ignore))
VOID
RawaccelCallback(
IN PDEVICE_OBJECT DeviceObject,
@@ -56,26 +57,18 @@ Arguments:
auto num_packets = InputDataEnd - InputDataStart;
- bool any = num_packets > 0;
- bool rel_move = !(InputDataStart->Flags & MOUSE_MOVE_ABSOLUTE);
- bool dev_match = global.args.device_id[0] == 0 ||
- global.args.ignore ==
- bool(wcsncmp(devExt->dev_id, global.args.device_id, ra::MAX_DEV_ID_LEN));
-
- if (any && rel_move && dev_match) {
- milliseconds time;
-
- if (global.args.time_min == global.args.time_max) {
- time = global.args.time_min;
- }
- else {
- counter_t now = KeQueryPerformanceCounter(NULL).QuadPart;
- counter_t ticks = now - devExt->counter;
- devExt->counter = now;
- milliseconds t = ticks * global.tick_interval / num_packets;
- time = ra::clampsd(t, global.args.time_min, global.args.time_max);
- }
-
+ if (num_packets > 0 &&
+ !(InputDataStart->Flags & MOUSE_MOVE_ABSOLUTE) &&
+ (global.args.device_id[0] == 0 ||
+ bool(wcsncmp(devExt->dev_id, global.args.device_id, ra::MAX_DEV_ID_LEN)) ==
+ global.args.ignore)) {
+ counter_t now = KeQueryPerformanceCounter(NULL).QuadPart;
+ counter_t ticks = now - devExt->counter;
+ devExt->counter = now;
+ milliseconds raw_elapsed = ticks * global.tick_interval;
+ milliseconds time = ra::clampsd(raw_elapsed / num_packets,
+ global.args.time_min,
+ global.args.time_max);
auto it = InputDataStart;
do {
if (it->LastX || it->LastY) {
diff --git a/driver/driver.vcxproj b/driver/driver.vcxproj
index 9034680..c2e4629 100644
--- a/driver/driver.vcxproj
+++ b/driver/driver.vcxproj
@@ -30,6 +30,7 @@
Driver
true
Spectre
+ Spectre
Windows7
@@ -38,6 +39,7 @@
KMDF
WindowsKernelModeDriver10.0
Driver
+ Spectre
@@ -74,18 +76,18 @@
true
StdCall
- AssemblyAndSourceCode
+ AssemblyCode
false
false
$(IntDir)
MaxSpeed
AnySuitable
true
- Speed
+ Neither
false
true
Guard
- Precise
+ Fast
@@ -114,9 +116,11 @@
true
- Precise
+ Fast
StdCall
MaxSpeed
+ Guard
+ true
%(AdditionalLibraryDirectories)
--
cgit v1.2.3