V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cool1205  ›  全部回复第 1 页 / 共 2 页
回复总数  31
1  2  
2021-03-13 18:18:42 +08:00
回复了 cool1205 创建的主题 Python 求助, Python , bytes 自增问题
@lcdtyph 膜拜
2021-03-13 18:18:15 +08:00
回复了 cool1205 创建的主题 Python 求助, Python , bytes 自增问题
@lcdtyph 大兄弟,你真是厉害!人狠话不多,哈哈
@bytesfold 虽然这个 time.sleep()底层与原理是如何实现我不清楚,我猜也是这个原因,无法实现毫秒级别的延时,以前做嵌入式 arm 、dsp 基本上都是拿时钟频率来算运行时间,可 python 这种高级语言还跟 windows 操作系统有关,我就有点儿不懂了,不过效果能够达到就好了,毕竟这个领域不专业,能拿来用并且 稳定就好了
@jeeyong
t4 = int(round(time.time() * 1000))
# time.sleep(0.003)
win32api.keybd_event(0x74, 0, 0, 0)
t5 = int(round(time.time() * 1000))
win32api.keybd_event(0x74, 0, win32con.KEYEVENTF_KEYUP, 0)
t6 = int(round(time.time() * 1000))
@jeeyong 配置好的是 R7 5800x,配置差的是 i5 9400F,各方面都是 R7 5800x 厉害
我找到了问题所在了,我在每次执行模拟鼠标操作前,都有段延时,我将延时代码去掉后,配置好的电脑执行 1ms 都不到,相反,配置差的电脑像抽风了一样,时间几毫秒到几十毫秒。虽然不知道是什么原因造成了这样一个情况,但效果非常好
@mxT52CRuqR6o5 都是 win 10,配置差的企业版,配置好的专业版
@zictos 我已经有这个冲动了,不过还是想再尝试一下,换成 C 的话,代码都要换,工作量有些大
@zictos 并不是偶尔一次会这样,是尝试了多次都是这样的问题
@zictos 配置好的电脑只运行这一个程序,相反配置差的电脑上运行了很多娱乐软件。配置好的电脑刚装的。pyautogui 这个比 win32api 慢了太多,已经放弃了
2020-12-31 22:33:21 +08:00
回复了 cool1205 创建的主题 程序员 Windows 截图原理,高难度问题,请慎入
@across 240hz 的显示器是 1080p 的,60hz 的显示器是 2k 的
2020-12-31 22:29:17 +08:00
回复了 cool1205 创建的主题 程序员 Windows 截图原理,高难度问题,请慎入
@across 感谢你的回复,我懂了你的意思,但我今天买了一个 240hz 的显示器,出现一个让我有些疑惑的问题,之前截张图片大概需要十几毫秒甚至二十毫秒,偶尔个位数毫秒。我现在使用 240hz 显示器,同样截图程序输出基本上都是 3-4ms 。这个情况是什么原因造成的呢?
2020-12-31 12:12:02 +08:00
回复了 cool1205 创建的主题 程序员 Windows 截图原理,高难度问题,请慎入
不用任何第三方截图软件,我认为 windows 自身的 API 必定是最快的。若真有这种代码存在,请大家推荐完全不调用 windows 自身 API 的方式,我试过几种,都是在 windows 自身 API 上做了一些封装而已,这种方式只会增加程序截图的时间,若对实时性要求不高的场景可以使用,但我对实时性要求很高。
2020-12-31 12:08:13 +08:00
回复了 cool1205 创建的主题 程序员 Windows 截图原理,高难度问题,请慎入
刚才是试了一下,当我把 HDMI 线拔了后,进行截图,可以截图,截图内容与为拔截图内容一样,只有时间不一样。证明 windows 会继续上一屏幕进行截图,此时显卡有输出。其实这并没有解答我的疑问,windows 截图的内容来源是哪里? 1. Windows 通过自身 API 调用显卡内存,再输出我们看得到的图片; 2. Windows 根据自身 UI 句柄或其他方式,再不调用显存的情况下直接截图。如果是按照显存来的话,按照大家所说相当于显存是实时更新的,更新的频率就根据显卡性能来定,Windows 前往显存去抓取,至于显示器是多少 hz 则由显卡根据设定的 hz 从显存中获取数据后输出到显示器。不知道我这个理解对不对?
2020-12-31 11:12:11 +08:00
回复了 cool1205 创建的主题 程序员 Windows 截图原理,高难度问题,请慎入
描述存在歧义,不是 1ms 截一次,5ms 截取就够了
2020-12-31 11:08:21 +08:00
回复了 cool1205 创建的主题 程序员 Windows 截图原理,高难度问题,请慎入
@aloxaf 没隔 5ms 就够了
2020-12-31 10:55:15 +08:00
回复了 cool1205 创建的主题 程序员 Windows 截图原理,高难度问题,请慎入
我最开始的打算是直接买一个 240hz 的显示器+RTX3070+AMD R7 5800X,这样不管是从哪里截的图片,对于我软件的影响我都能接受。我对硬件与 Windows 系统不是很熟悉。我这样问会更好些,我现在每隔 5ms 需要截取一次屏幕截图,软件控制台输出是 1ms 更新一次,实时抓取,要满足这个条件,60hz 显示器是否足够用?
如何没办法解决,有哪位大佬知道是什么原因造成的吗?没加载出来我觉得不可能,毕竟这个页面已经打开十几秒了,并且每次找第一个元素的时间惊人的一致
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4193 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 10:14 · PVG 18:14 · LAX 02:14 · JFK 05:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.