qcustomplot 性能_cpu性能提升工具

qcustomplot 性能_cpu性能提升工具Plot性能提升QCustomPlot采用了大量的技术比如自适应采样和文本对象缓存为了减少replot的时间。然而一些特性比如半透明的填充,反锯齿和粗线条都可能导致低效率。如果你在你的程序中注意到了这些。这有一些提示关于如何跳高Replot的性能。大部分时间耗费在绘图函数上尤其是绘制高密度的图形和其他图。为了最大性能思考下面几点:使用Qt4.8.0及以上的版本,性能将会有双倍或

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
Plot性能提升

QCustomPlot采用了大量的技术比如自适应采样和文本对象缓存为了减少replot的时间。然而一些特性比如半透明的填充,反锯齿和粗线条都可能导致低效率。如果你在你的程序中注意到了这些。这有一些提示关于如何跳高Replot的性能。

大部分时间耗费在绘图函数上尤其是绘制高密度的图形和其他图。为了最大性能思考下面几点:

使用Qt4.8.0及以上的版本,性能将会有双倍或者三倍的提升跟Qt4.7.4相比。然而QPainter被破坏了并且绘制精确像素的东西使用Qt>=4.8.0的版本是不可能的。因此它是性能和质量的权衡当转到Qt4.8.0时。QCustomPlot内部尝试解决这种严重的故障。

为了增加响应速度在进行范围拖拽的期间,思考设置QCustomPlot::setNoAntialiasingOnDrag为true.

在X11,避免本地缓慢的绘图系统,使用栅格通过应用 “-graphicssystem raster”作为命令行参数或者调用QApplication::setGraphicsSystem(“raster”) 在创建应用程序对象之前。

在所有的操作系统中,使用OpenGL硬件加速通过提供 “-graphicssystem opengl”作为命令行参数或者调用QApplication::setGraphicsSystem(“opengl”)。如果OpenGL是可用的,这将略有减少抗锯齿的质量但是却增强了性能尤其是半透明的填充,抗锯齿和大量的QCustomPlot绘制表面。然而注意最大帧速率的可能被你的显示器的垂直同步频率约束因此对于简单的plot来说,OpenGL加速可能实现帧速率数值低于其他图形系统,因为他们不以垂直同步频率为限制。

避免任何形式的α(透明度),特别是在填充。

避免用宽度大于1的画笔画线。

避免任何反锯齿,尤其是在曲线图中的线。

避免重复设置完整的数据用QCPGraph::setData。使用QCPGraph::addData代替,如果大部分的数据点保持不变如在运行的测量。你可以访问并且操作存在的数据通过QCPGraph::data.

设置setData的拷贝参数为false,因此只有一些点得到转移。

尝试减少数据点的数量在可见的主演范围在给出的任意时刻,通过限制key的最大范围。QCustomPlot可以有效优化掉数以百万计的屏幕点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191324.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatis返回对象_存储过程不能返回结果

    mybatis返回对象_存储过程不能返回结果论MyBatis返回结果集_返回实体类还是Map在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType="java.util.Map"),如果是多条数据则返回一个List<Map<String,Object>>结果集。很多人会觉得发现,直接返回一个Map的话太方便了,什么映射什么的全都不用管,只用在sql书…

    2022年10月4日
    3
  • 建立任务,OSTaskCreate()源码解析

    建立任务,OSTaskCreate()源码解析想让uC/OS-Ⅱ管理用户的任务,用户必须要先建立任务。用户可以通过传递任务地址和其它参数到以下两个函数之一来建立任务:OSTaskCreate()或OSTaskCreateExt()。OSTas

    2022年7月3日
    26
  • sublime 激活码【2021最新】

    (sublime 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月21日
    87
  • 标量tensor转numpy数组时在pycharm调试下显示异常「建议收藏」

    标量tensor转numpy数组时在pycharm调试下显示异常「建议收藏」最近发现了一个问题,在标量tensor转numpy数组之后,在pycharm调试的过程中,我想看一下这个数组的值,却发现显示异常。importnumpyasnpimporttorcha=torch.tensor(5)b=a.numpy()print(b)如上面这个代码,在断点调试的时候,b这个数组的array显示出现异常可能还是numpy的数组在定义显示的时候,是根据shape来的吧,而这个时候这个shape是一个空值,所以就有了这个无法显示的异常。解决的方

    2022年10月19日
    4
  • java生成license_使用truelicense实现用于JAVA工程license机制(包括license生成和验证)…

    java生成license_使用truelicense实现用于JAVA工程license机制(包括license生成和验证)…开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了。不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直接生成一个新的license发送给使用方替换掉原来的license文件即可。下面将讲述使用truelicense来实现license的生成和使用。Truelicense是一个开源的证书管理引擎,详细介…

    2022年7月26日
    40
  • error lnk 2019_lnk2005错误

    error lnk 2019_lnk2005错误导致LNK2019的常见问题:(1)未链接的对象文件或包含符号定义的库(2)符号声明的拼写不与符号的定义相同(3)使用了函数,但类型或参数数目不匹配函数定义(4)声明但未定义的函数或变量(5) 调用约定是函数声明和函数定义之间的差异(6)符号定义在c文件中,但未使用externC在c++文件中声明(7)符号定义为静态,并随后被外部文件引用(8)未定义类的静态成员(9)生成依赖项仅定义为解决方…

    2022年10月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号