]> git.sesse.net Git - kdenlive/commitdiff
Try to speed up monitor scene
authorTill Theato <root@ttill.de>
Thu, 12 Aug 2010 12:20:14 +0000 (12:20 +0000)
committerTill Theato <root@ttill.de>
Thu, 12 Aug 2010 12:20:14 +0000 (12:20 +0000)
svn path=/trunk/kdenlive/; revision=4707

src/geometrywidget.cpp
src/monitorscene.cpp
src/monitorscene.h

index 5199586c407e13ad1db5eb58bf755980f1c6a921..6e3fdc917cc8a9688dc183dfac121716452a97d9 100644 (file)
@@ -107,7 +107,7 @@ void GeometryWidget::setupParam(const QDomElement elem, int minframe, int maxfra
     m_rect->setZValue(0);
     m_rect->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
 
-    QPen framepen(Qt::DotLine);
+    QPen framepen(Qt::SolidLine);
     framepen.setColor(Qt::yellow);
     m_rect->setPen(framepen);
     m_rect->setBrush(Qt::transparent);
index 96c7b7f511ef02a25d19acb6fa003965ccb27fd8..fc80d705dea0bf6e71764e5da9e919bc541c9836 100644 (file)
@@ -22,7 +22,6 @@
 #include "renderer.h"
 #include "kdenlivesettings.h"
 
-#include <QtCore>
 #include <QGraphicsView>
 #include <QGraphicsPixmapItem>
 #include <QGraphicsSceneMouseEvent>
@@ -38,20 +37,22 @@ MonitorScene::MonitorScene(Render *renderer, QObject* parent) :
 {
     setBackgroundBrush(QBrush(QColor(KdenliveSettings::window_background().name())));
 
-    QPen framepen(Qt::DotLine);
+    QPen framepen(Qt::SolidLine);
     framepen.setColor(Qt::red);
 
     m_frameBorder = new QGraphicsRectItem(QRectF(0, 0, m_renderer->renderWidth(), m_renderer->renderHeight()));
     m_frameBorder->setPen(framepen);
-    m_frameBorder->setZValue(-9);
+    m_frameBorder->setZValue(-2);
     m_frameBorder->setBrush(Qt::transparent);
     m_frameBorder->setFlags(0);
     addItem(m_frameBorder);
 
     m_lastUpdate.start();
     m_background = new QGraphicsPixmapItem();
-    m_background->setZValue(-10);
+    m_background->setZValue(-1);
     m_background->setFlags(0);
+    m_background->setShapeMode(QGraphicsPixmapItem::BoundingRectShape);
+    m_background->setTransformationMode(Qt::FastTransformation);
     QPixmap bg(m_renderer->renderWidth(), m_renderer->renderHeight());
     bg.fill();
     m_background->setPixmap(bg);
@@ -67,6 +68,9 @@ void MonitorScene::setUp()
         m_view = views().at(0);
     else
         m_view = NULL;
+
+    m_view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
+
     slotUpdateBackground(true);
 }
 
@@ -74,7 +78,7 @@ void MonitorScene::slotUpdateBackground(bool fit)
 {
     if (m_view && m_view->isVisible()) {
         if (m_lastUpdate.elapsed() > 200) {
-            m_background->setPixmap(QPixmap::fromImage(m_backgroundImage));
+            m_background->setPixmap(QPixmap::fromImage(m_backgroundImage, Qt::ThresholdDither));
             if (fit) {
                 m_view->fitInView(m_frameBorder, Qt::KeepAspectRatio);
                 m_view->centerOn(m_frameBorder);
index 29698e21a6382d26c695d7d42dccadc97dcc89a2..87c36968478bde7a66b73289679c501eb703c710 100644 (file)
@@ -21,8 +21,8 @@
 #ifndef MONITORSCENE_H
 #define MONITORSCENE_H
 
+#include <QtCore>
 #include <QGraphicsScene>
-#include <QTime>
 
 class Render;