当前位置: 首页 > news >正文

《电子商务网站开发与管理》江西个人网站备案做论坛

《电子商务网站开发与管理》,江西个人网站备案做论坛,做渠道的网站有哪些方面,重庆seo排名优化费用在我们绘制一些复杂逻辑且数据量巨大的图形时#xff0c;经常会出现流畅性问题#xff0c;本文就是来进行讲解如何提升绘制效率的。 实现思路#xff1a; 场景1#xff1a;我们绘制多个静态图形和绘制一张图片哪个更快。很明显绘制多个图形的时候要慢很多。所以我们将多个图…在我们绘制一些复杂逻辑且数据量巨大的图形时经常会出现流畅性问题本文就是来进行讲解如何提升绘制效率的。 实现思路 场景1我们绘制多个静态图形和绘制一张图片哪个更快。很明显绘制多个图形的时候要慢很多。所以我们将多个图形变成一张图片就能实现加速。 绘制10000个圆: void Widget::paintEvent(QPaintEvent *event) {QPainter p(this);QRect imgrect(0,0,rect().width()/2,rect().height()/2);p.setBrush(Qt::red);for (int i 0; i 10000; i) {p.drawEllipse(imgrect.width()/4,imgrect.height()/4,imgrect.width()/2,imgrect.height()/2);} }cpu占用在20%以上。 将10000个圆变成一张图片 Widget::Widget(QWidget *parent) :QWidget(parent) {resize(600,600);drawImg(); } void Widget::drawImg() {QImage img(rect().width()/2,rect().height()/2,QImage::Format_ARGB32);QPainter p(img);p.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform);//填充背景如果不做填充则会出现背景显示问题。img.fill(QColor(#300000ff));p.setBrush(Qt::red);for (int i 0; i 10000; i) {p.drawEllipse(img.width()/4,img.height()/4,img.width()/2,img.height()/2);}p.end();_img img; } void Widget::paintEvent(QPaintEvent *event) {QPainter p(this);p.drawImage(QRect( rect().width()/4,rect().height()/4,rect().width()/2,rect().height()/2 ),_img); }cpu占用不到1%。 场景2绘制多个动态图形和将多个动态图形变成多张图片效率还会有提升吗 绘制1000个动态图形。 void Widget::timerEvent(QTimerEvent *event) {_index;update(); } void Widget::paintEvent(QPaintEvent *event) {QPainter p(this);QRect imgrect(0,0,rect().width()/2,rect().height()/2);p.setBrush(Qt::red);for (int i 0; i 10000; i) {p.drawPie(imgrect.width()/4,imgrect.height()/4,imgrect.width()/2,imgrect.height()/2,0,_index*16);} }cpu占用10%~20%左右。 将1000个动态图形绘制成多张图片。 void Widget::timerEvent(QTimerEvent *event) {_index;drawImg();update(); } void Widget::drawImg() {QImage img(rect().width()/2,rect().height()/2,QImage::Format_ARGB32);QPainter p(img);p.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform);//填充背景如果不做填充则会出现背景显示问题。img.fill(QColor(#300000ff));p.setBrush(Qt::red);for (int i 0; i 1000; i) {p.drawPie(img.width()/4,img.height()/4,img.width()/2,img.height()/2,0,_index*16);}p.end();_img img; } void Widget::paintEvent(QPaintEvent *event) {QPainter p(this);p.drawImage(QRect( rect().width()/4,rect().height()/4,rect().width()/2,rect().height()/2 ),_img); }似乎没有什么提升。 但是将多个动态图形绘制成一张图片我们可以控制图片生成速度来减少cpu。 void Widget::timerEvent(QTimerEvent *event) {_index;if (_index % 2 0)drawImg();update(); }void Widget::drawImg() {QImage img(rect().width()/2,rect().height()/2,QImage::Format_ARGB32);QPainter p(img);p.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform);//填充背景如果不做填充则会出现背景显示问题。img.fill(QColor(#300000ff));p.setBrush(Qt::red);for (int i 0; i 1000; i) {p.drawPie(img.width()/4,img.height()/4,img.width()/2,img.height()/2,0,_index*16);}p.end();_img img; }void Widget::paintEvent(QPaintEvent *event) {QPainter p(this);p.drawImage(QRect( rect().width()/4,rect().height()/4,rect().width()/2,rect().height()/2 ),_img); } 控制图片生成速度后cpu明显降低。 通过以上两个场景得出结论不管是绘制多个或者逻辑复杂的静态图形还是绘制多个动态图形时都可以通过生成图片的形式来提升绘制效率。
http://www.zqtcl.cn/news/636182/

相关文章:

  • 东莞网站建做俄罗斯外贸的网站
  • 基于vue.js旅游网站开发网络营销的主要形式有建设网站
  • 医院网站建设要素国外电商网站
  • 甘肃两学一做网站可以制作h5的网站
  • 微信公众号手机网站开发wordpress 集赞系统
  • 怎么做会员积分网站免费ppt模板下载有哪些
  • 六安网站开发如何用微信小程序做网站
  • 华为云自助建站好不好seo技巧分享
  • 做淘宝客的网站wordpress+附件丢失
  • 苏州市城乡建设局网站首页做动漫网站的素材
  • 济南网站建设系统介绍服务网站开发费属于研发支出吗
  • 网站建设方案进行工期安排Wix做的网站在国内打不开
  • 网站后台后缀名qq免费申请账号
  • seo网站优化代码静态网站可以做哪些
  • 网页素材及网站架构制作个人单页网站模板
  • 微小店网站建设价格建设网站设备预算
  • 电子商城网站开发公司泰州网络营销
  • 网站建设公司利润分配一些常用的网站
  • 鄂尔多斯做网站的公司北京企业网站设计报价
  • 南宁关键词网站排名wordpress付免签插件
  • 龙岩网站定制电子政务与网站建设方面
  • 东莞网站制作十强英语培训机构网站建设策划书
  • 住房和城乡建设部网站加装电梯苏州外发加工网
  • 企业网站管理系统带授权广州seo报价
  • 建设门户网站的意义旅游电商网站建设方案模板
  • 网站做动态图片不显示某购物网站开发项目
  • 大淘客网站logo怎么做紫鸟超级浏览器手机版
  • 专做公司网站 大庆wordpress编辑器百度云
  • 企业手机网站模板下载网站建设实训 考核要求
  • 企业网站建设的ppt4414站长平台