General information:
I try to use MSS library to capture screen game on my Windows PC, however capture frame rates are not getting higher than 60FPS.
Although game is running on 160 FPS, MSS is limited to only 60.
I tried:
So I suspect, the problem is not Hardware related and limitation comes from software.
width = 512 # roi
height = 512 # roi
mon = {
# "left": int(3840 / 2 - width / 2),
# "top": int(2160 / 2 - height / 2),
"left": int(1920 / 2 - width / 2),
"top": int(1080 / 2 - height / 2),
"width": width,
"height": height,
}
sct = mss()
fps = [i for i in range(30)]
index = 0
prev_bytes = None
while True:
if (
not disabed_capture
):
start_time = time.time()
_bytes = sct.grab(mon)
if prev_bytes is not None and _bytes == prev_bytes:
print("SAME!")
continue
prev_bytes = _bytes
frame = np.array(_bytes)
queue.put([time.time(), frame])
index = (index + 1) % len(fps)
fps[index] = 1 / (time.time() - start_time)
if index % 30 == 0:
print("SCREENSHOT FPS: ", sum(fps) / len(fps))
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too