MSS性能问题

时间:2019-06-02 21:32:21

标签: python python-mss

根据此answer,mss应该非常快,但是没有更多的mss.mss.get_pixels()方法,而mss.mss.grab()给我的结果很差(0.074s 1440p屏幕(grab())。在大多数情况下,使用PIL.ImageGrab.grab()或pyautogui.screenshot()可以获得几乎相同的结果。 这正常吗?

我尝试安装32位Python,以查看问题是否为64位版本,但没有结果

我还做了一个简单的基准测试

import mss
import PIL
import pyautogui
from time import time

sct = mss.mss()
m = {
    'left': 0,
    'top': 0,
    'width': 2440,
    'height': 1440
}

t = time()
data = sct.grab(m)
t = time() - t
print("MSS grab(): {}".format(t))

t = time()
data = PIL.ImageGrab.grab()
t = time() - t
print("PIL grab(): {}".format(t))

t = time()
data = pyautogui.screenshot()
t = time() - t
print("pyautogui screenshot(): {}".format(t))

以下是结果:

MSS grab(): 0.07446518135070801
PIL grab(): 0.10441708564758301
pyautogui screenshot(): 0.07911845970153809

编辑:MSS的性能比其他所有功能都要好,但是我目前正在尝试将openCV与之结合使用,而70ms仅仅获得一个帧还不够快

0 个答案:

没有答案