planned_s
actual_s
action
< /tr>
< /thead>
0.03125
0.0616778
(
Код: Выделить всё
key
0.34375
0.8544916
(
Код: Выделить всё
mouse
0.59375
1.3620928
(
Код: Выделить всё
key
0.625
1.4259067
(
Код: Выделить всё
mouse
0.703125
1.5822482
(
Код: Выделить всё
key
Текущий скрипт использует клавиатуру Python Packages и мышь.
def press_action(action, down):
kind, key = action
if kind == "key":
if down:
keyboard.press(key)
else:
keyboard.release(key)
elif kind == "mouse":
if down:
mouse.press(button=key)
else:
mouse.release(button=key)
def replay_action_sequence(action_intervals):
held = set()
for step in action_intervals:
# turn each action-list into a tuple, then build set
current = { tuple(a) for a in step["actions"] }
dur_s = step["duration_ms"] / 1000.0
for a in held - current:
press_action(a, False)
for a in current - held:
press_action(a, True)
held = current
precise_sleep(dur_s)
for a in held:
press_action(a, False)
< /code>
На основе некоторых исследований и ввода из Chatgpt я вставил эти строки: < /p>
try:
windll.winmm.timeBeginPeriod(1)
psutil.Process().nice(psutil.HIGH_PRIORITY_CLASS)
except Exception:
pass
< /code>
Но, похоже, они не оказывают большого влияния. Однако, если вы скажете, что это невозможно, я бы переключился на C#, вероятно, так как у меня, по крайней мере, был какой -то контакт с этим. Сценарий C# или полученный .exe все еще можно вызвать из Python, верно?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ation-fast