• 4975阅读
  • 0回复

奇怪!绘图使用双缓冲以后,反而大大影响速度??? [复制链接]

上一主题 下一主题
离线qinpanke
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-12
奇怪的很,把绘图转化到双缓冲上以后速度降低了很多???原因在哪???
//////////////////////////////////////////////////////////////////////////
......
        QBrush        backBrush(getRectBackColor());
    QPen        linePen;
    linePen.setWidth(getRectPenWidth());
    linePen.setColor(getRectPenColor());
    QRectF        rect;
    rect.setTopLeft(getRectTopLeft());
    rect.setWidth(getRectWidth());
    rect.setHeight(getRectHeight());
//////////////////////////////////////////////////////////////////////////
    QRect            pixRect;
    QPoint            pointTopLeft;
    pointTopLeft.setX(this->getRectTopLeft().x());
    pointTopLeft.setY(this->getRectTopLeft().y());
    pixRect.setTopLeft(pointTopLeft);
    pixRect.setWidth(this->getRectWidth());
    pixRect.setHeight(this->getRectHeight());

    QColor            pixmapBackColor;
    pixmapBackColor.setAlpha(0);
    QPixmap            pixMap(pixRect.size());
    pixMap.fill(pixmapBackColor);
    QPainter        pixPainter(&pixMap);
    //pixPainter.setRenderHint(QPainter::Antialiasing, true);
    pixPainter.translate(-pixRect.x(), -pixRect.y());
    //pixPainter.setBackgroundMode(Qt::OpaqueMode);

    pixPainter.setPen(linePen);
    pixPainter.drawRect(rect);
    pixPainter.setBrush(backBrush);
    pixPainter.drawRect(rect);
    pixPainter.end();
    painter->drawPixmap(pixRect.topLeft(), pixMap);
......

QQ      308367961
email  qinpanke@sina.com
Blog    http://hi.baidu.com/qinpanke/blog/category/Qt
欢迎大家访问我的博客  共同学习提高
快速回复
限100 字节
 
上一个 下一个