我软件是使用 pyqt5 开发的壳,核心逻辑是在两个进程中,使用 opencv 进行图片识别
然后因为需要有卡密验证,所以我就在软件启动的时候验证一次卡密
和点击开始的时候启动一个线程来延迟 10 分钟每 10 分钟验证一次有效性
现在启动后,整个软件对次一点的 cpu 的占用有时候甚至都高到 30%
有没有什么优化的办法呢大佬们
1
youngce 23 天前
opencv 进行图片识别,这个步骤看起来就很吃 cpu ,降低一点图片分辨率?
|
3
r6cb 23 天前
只能看看能不能用 GPU 加速了,或者更换更轻量的模型或者采取一些预处理降低工作量
|
5
jimrok 23 天前 1
这个 cpu 过高你得判断是不是在正常算力范围内得过高吧,你这个软件到底依赖什么样的配置?不能说给你一台 386 跑你的软件,你还想着怎么优化,这种基本的算力要求你都达不到,你搞什么劲。如果是正常支持的硬件范围内出现这种高 cpu 现象,你要找出这端时间的日志来看,至少日志要提供每个模块的执行时间,正常你的基准测试时间是多少?总不能没头苍蝇一样瞎优化吧。
|
6
zictos 23 天前
不能延时的吗?图片识别时中途有一行代码需要执行很久的情况吗?
实在不行就暂停进程,比如用 a 进程控制 b 进程,a 进程每 50ms 暂停一次 b 进程,每次暂停 5ms 。 |
7
Motorola3 OP |
8
jimrok 23 天前
@Motorola3 你要分析要有一个基准测试,基准测试可以选取一些你做 opencv 的样本,可以来自生产数据,也可以选取测试数据,然后在目标机器下执行你的功能,验证测试结果和你标准机器的性能相比是快还是慢,类似跑分。
|
10
r6cb 23 天前
你这是在写自瞄挂?
|
11
Precise1chen 22 天前
@r6cb 哈哈哈还是商用带授权定时验证的
|