码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • QT性能分析调优


    代码分析

    clock():返回自程序启动起,处理器时钟所使用的时间。

    clock_t start_t = clock();
    qDebug() << start_t;
    
    • 1
    • 2

    GetTickCount():MFC计时器,系统运行时间

    long T1 = GetTickCount();//ms
    
    • 1

    程序段运行时间

    clock_t T1,T2;
    
    // 在开始计时位置:
    T1 = clock();
    
    //  结束位置:
    T2 = clock();
    
    double dtime = (double)(T2-T1)/CLOCKS_PER_SEC);//S
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    // 开始位置
    QDateTime t1 = QDateTime::currentDateTime();
    ...
    
    // 结束位置
    QDateTime t2 = QDateTime::currentDateTime();
    int seconds = t2.toTime_t() - t1.toTime_t();  // s
    int msecs = t2.toMSecsSinceEpoch() - t1.toMSecsSinceEpoch();  // ms
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    VS性能分析工具

    使用vs自带的【性能探查器】找到瓶颈部分(函数、模块等),逐一改进。
    在这里插入图片描述

    • CPU Usage
      • 检测CPU的性能,主要用于发现影响CPU瓶颈(消耗大量CPU资源)的代码。
    • GPU Usage
      • 检测GPU的性能,常用于图形引擎的应用(如DirectX程序),主要用于判断是CPU还是GPU的瓶颈。
    • Memory Usage
      • 检测应用程序的内存,发现内存。
    • Performance Wizard
      • 性能(监测)向导,综合检测程序的性能瓶颈。

    带你玩转Visual Studio——性能分析与优化

    性能调优方案

    延迟dll加载

    方案一:
    在这里插入图片描述

    方案二:
    在QT的.pro文件中添加:

    win32: QMAKE_LFLAGS_RELEASE += /DELAYLOAD:delay.dll
    
    • 1

    DLL动态链接库分包引用及延迟加载使用

    DLL高级技术之延迟加载

    关于VS的延迟加载dll的使用和理解

    DELAYLOAD在Qt LNK2001中出现链接错误:无法解析外部符号

    window main启动函数分析

    mainCRTStartup()

    • __scrt_common_main():GS和SEH检查,这俩个检查主要是防止内存溢出。
    • invoke_main():初始化环境变量,并调用main函数,进入程序。

    逆向程序分析:Windows的main(),启动函数分析

  • 相关阅读:
    囊个搭建自己的图床
    MySql安全加固:无关或匿名帐号&是否更改root用户&避免空口令用户&是否加密数据库密码
    芯片学习记录TLP291-4
    【vue实战项目】通用管理系统:首页
    MVC、MVP、MVVM理解 在什么情况下用什么页面架构
    VB.net TCP服务端监听端口接收客户端RFID网络读卡器上传的读卡数据
    汇编:调用Win32 API
    链表oj题2(Leetcode)(牛客)——合并两个有序链表;判断回文链表;链表分割
    论文阅读笔记《Locality Preserving Matching》
    Mysql 子查询,最值查询
  • 原文地址:https://blog.csdn.net/qq_21980099/article/details/126461137
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号