V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Motorola3
V2EX  ›  程序员

Python CPU 占用过高怎么办?求

  •  
  •   Motorola3 · 16 天前 · 1300 次点击

    我软件是使用 pyqt5 开发的壳,核心逻辑是在两个进程中,使用 opencv 进行图片识别
    然后因为需要有卡密验证,所以我就在软件启动的时候验证一次卡密
    和点击开始的时候启动一个线程来延迟 10 分钟每 10 分钟验证一次有效性

    现在启动后,整个软件对次一点的 cpu 的占用有时候甚至都高到 30%
    有没有什么优化的办法呢大佬们

    12 条回复    2024-06-04 10:47:32 +08:00
    youngce
        1
    youngce  
       16 天前
    opencv 进行图片识别,这个步骤看起来就很吃 cpu ,降低一点图片分辨率?
    Motorola3
        2
    Motorola3  
    OP
       16 天前
    @youngce 那可能不太行,因为本来干扰项就挺多的 如果再降低分辨率的话 可能识别不是很精准 我已经尽量压缩是被区域了
    r6cb
        3
    r6cb  
       16 天前
    只能看看能不能用 GPU 加速了,或者更换更轻量的模型或者采取一些预处理降低工作量
    Motorola3
        4
    Motorola3  
    OP
       16 天前
    @r6cb 感觉换模型不太行,我还是尝试优化一下 while 循环和试试 GPU 加速吧
    jimrok
        5
    jimrok  
       16 天前   ❤️ 1
    这个 cpu 过高你得判断是不是在正常算力范围内得过高吧,你这个软件到底依赖什么样的配置?不能说给你一台 386 跑你的软件,你还想着怎么优化,这种基本的算力要求你都达不到,你搞什么劲。如果是正常支持的硬件范围内出现这种高 cpu 现象,你要找出这端时间的日志来看,至少日志要提供每个模块的执行时间,正常你的基准测试时间是多少?总不能没头苍蝇一样瞎优化吧。
    zictos
        6
    zictos  
       16 天前
    不能延时的吗?图片识别时中途有一行代码需要执行很久的情况吗?
    实在不行就暂停进程,比如用 a 进程控制 b 进程,a 进程每 50ms 暂停一次 b 进程,每次暂停 5ms 。
    Motorola3
        7
    Motorola3  
    OP
       16 天前
    @jimrok 这个分析我还真没做过,不知道该咋分析 emm 能打 PUBG 的性能应该都不算很差,且游戏画质压缩到了 1920*1080

    @zictos 因为要实时监测游戏状态,所以不能暂停某个进程
    jimrok
        8
    jimrok  
       16 天前
    @Motorola3 你要分析要有一个基准测试,基准测试可以选取一些你做 opencv 的样本,可以来自生产数据,也可以选取测试数据,然后在目标机器下执行你的功能,验证测试结果和你标准机器的性能相比是快还是慢,类似跑分。
    Motorola3
        9
    Motorola3  
    OP
       16 天前
    @jimrok 好的 我去找一下试试看
    r6cb
        10
    r6cb  
       16 天前
    你这是在写自瞄挂?
    Precise1chen
        11
    Precise1chen  
       15 天前
    @r6cb 哈哈哈还是商用带授权定时验证的
    Motorola3
        12
    Motorola3  
    OP
       15 天前
    @r6cb 自瞄都用 yolo 了谁用 opencv 啊 挂机软件

    yolo+pygame 的渲染方式比 opencv 自己去写循环画框方便多了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1048 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:30 · PVG 03:30 · LAX 12:30 · JFK 15:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.