当前位置: 首页 > 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.pierceye.com/news/636182/

相关文章:

  • 有帮忙做幻灯片的网站么济宁网站开发公司
  • 网站开发技术 主流官网铺设
  • 贵阳网站建设钟鼎网络江门网站建设套餐
  • 263企业邮箱自动回复seo技巧与技术
  • 昆明响应式网站怎么做最火的视频网站
  • 中山微信网站西安网站建设麦欧科技
  • 西平县住房城乡建设局网站网站备案 教程
  • 怎么用ps做简单网站推广码怎么输入
  • 跨越速运网站谁做的桂林网站建设培训
  • 荥阳网站建设多少钱做网站 提要求
  • 大学生个体创业的网站建设网页素材及网站架构制作
  • 网站开发前端框架和后端框架做长海报的网站
  • 柳州网站制作建一个网站怎么赚钱
  • 建网站支持设备是什么意思wordpress 默认密码
  • 找人做效果图那个网站网站开发语言 asp
  • 山东省山东省建设厅网站首页百度助手免费下载
  • 北京网站建设认百度非企推广开户
  • 厦门模板建站系统网站icp备案信息注册
  • 网站建设维护人员多语言网站开发
  • 网站开发 论文大连微信公众号开发公司
  • 珠海网站建设王道下拉惠烟台网站制作专业
  • 用php做网站要用构架吗ios开发者模式
  • 如何实现一个制作好的网站wordpress cdn
  • 成都网站商城建设深圳制作网站制作公司哪家好
  • 谁可以做网站开发公司空置房拨款合同
  • seo网站管理网站建设信(信科网络)
  • 做网站需要哪些东西网站设计报价单模板
  • 合肥家居网站建设怎么样网站建设与维护中
  • 淘宝app网站建设做网页设计可以参考哪些网站
  • 合作建设网站协议江门seo计费管理