У меня есть большой QGraphicsScene, который я хочу отобразить, в настоящее время сделанный QGraphicsView.
При локальном использовании все нормально, но как только я использую приложение с ssh -X, оно ужасно медленно. Конечно, некоторые данные всегда должны передаваться, но как можно сохранить пропускную способность, если ничего не меняется, например, когда выполняется только панорамирование изображения?
Это мой QGraphicsView:
#include "graphicsview.h"#include <QGraphicsPixmapItem>
#include <QPixmap>
#include <QDebug>
#include <QMouseEvent>
#include <QWheelEvent>
#include <cmath>
#include <QPixmapCache>
GraphicsView::GraphicsView(QWidget *parent) :
QGraphicsView(parent)
{
QPixmapCache::setCacheLimit(16777216); //did not do the trick either
this->setMouseTracking(true);
setTransformationAnchor(AnchorUnderMouse);
this->setDragMode(QGraphicsView::ScrollHandDrag);
scene = new QGraphicsScene(this);
setScene(scene);
background = QPixmap(8000,8000);
qDebug() << background.rect();
scene->setSceneRect(background.rect());
scene->setBackgroundBrush(QBrush(background));
show();
}
void GraphicsView::wheelEvent(QWheelEvent* event) {
scale(pow(2,event->delta()/240.0), pow(2,event->delta()/240.0));
}
Задача ещё не решена.
Других решений пока нет …