Change the default renderTarget and renderStrategy
authorCharles Yin <charles.yin@nokia.com>
Tue, 6 Mar 2012 23:28:27 +0000 (09:28 +1000)
committerQt by Nokia <qt-info@nokia.com>
Wed, 7 Mar 2012 04:03:52 +0000 (05:03 +0100)
As we always use OpenGL and scenegraph render thread now, the best default
render target should be FBO and the best render strategy should be
cooperative mode (use the render thread).

Task-number:QTBUG-23956
Change-Id: I64b070dec566e359d27c84680fef1c691d6ce411
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
17 files changed:
src/quick/items/context2d/qquickcanvasitem.cpp
tests/auto/quick/qquickcanvasitem/data/tst_arc.qml
tests/auto/quick/qquickcanvasitem/data/tst_arcto.qml
tests/auto/quick/qquickcanvasitem/data/tst_canvas.qml
tests/auto/quick/qquickcanvasitem/data/tst_composite.qml
tests/auto/quick/qquickcanvasitem/data/tst_drawimage.qml
tests/auto/quick/qquickcanvasitem/data/tst_fillStyle.qml
tests/auto/quick/qquickcanvasitem/data/tst_gradient.qml
tests/auto/quick/qquickcanvasitem/data/tst_line.qml
tests/auto/quick/qquickcanvasitem/data/tst_path.qml
tests/auto/quick/qquickcanvasitem/data/tst_pattern.qml
tests/auto/quick/qquickcanvasitem/data/tst_pixel.qml
tests/auto/quick/qquickcanvasitem/data/tst_shadow.qml
tests/auto/quick/qquickcanvasitem/data/tst_state.qml
tests/auto/quick/qquickcanvasitem/data/tst_strokeStyle.qml
tests/auto/quick/qquickcanvasitem/data/tst_text.qml
tests/auto/quick/qquickcanvasitem/data/tst_transform.qml

index ed16ea0..f89ac18 100644 (file)
@@ -86,8 +86,8 @@ QQuickCanvasItemPrivate::QQuickCanvasItemPrivate()
     , hasCanvasWindow(false)
     , available(false)
     , contextInitialized(false)
-    , renderTarget(QQuickCanvasItem::Image)
-    , renderStrategy(QQuickCanvasItem::Threaded)
+    , renderTarget(QQuickCanvasItem::FramebufferObject)
+    , renderStrategy(QQuickCanvasItem::Cooperative)
 {
 }
 
@@ -379,7 +379,7 @@ void QQuickCanvasItem::setCanvasWindow(const QRectF& rect)
     context will choose appropriate options and Canvas will signal the change
     to the properties.
 
-    The default render target is \c Canvas.Image.
+    The default render target is \c Canvas.FramebufferObject.
 */
 QQuickCanvasItem::RenderTarget QQuickCanvasItem::renderTarget() const
 {
@@ -419,7 +419,7 @@ void QQuickCanvasItem::setRenderTarget(QQuickCanvasItem::RenderTarget target)
     the GUI thread.  Selecting \c Canvas.Cooperative, does not guarantee
     rendering will occur on a thread separate from the GUI thread.
 
-    The default value is \c Canvas.Threaded.
+    The default value is \c Canvas.Cooperative.
 
     \sa QtQuick2::Canvas::renderTarget
 */
index 6006a5a..ffe6583 100644 (file)
@@ -3,7 +3,7 @@ import QtTest 1.0
 import "testhelper.js" as Helper
 
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "arc"; when: windowShown
        function test_angle_1() {
index cc1d886..8609ad0 100644 (file)
@@ -3,7 +3,7 @@ import QtTest 1.0
 import "testhelper.js" as Helper
 
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "arcTo"; when: windowShown
        function test_coincide() {
index 348a7b3..23d7b71 100644 (file)
@@ -15,6 +15,8 @@ Rectangle {
                  context.fillStyle = "red";
                  context.fillRect(0, 0, 100, 100);
              }
+             renderTarget:Canvas.Image
+             renderStrategy:Canvas.Threaded
              property int paintCount:spyPaint.count
              property int paintedCount:spyPainted.count
              property int canvasSizeChangedCount:spyCanvasSizeChanged.count
index 11e1dce..bdc9d37 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget:Canvas.Image
+   id:canvas; width:100;height:50; renderTarget:Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "composite"; when: windowShown
        function test_clearRect() {
@@ -377,4 +377,4 @@ Canvas {
        }
 
    }
-}
\ No newline at end of file
+}
index 102217d..75dd2b3 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    Component.onCompleted: {
        canvas.loadImage('green.png');
        canvas.loadImage('red.png');
index 8f5a78c..153a103 100644 (file)
@@ -3,7 +3,7 @@ import QtTest 1.0
 import "testhelper.js" as Helper
 
 Canvas {
-   id:canvas; width:1;height:1;renderTarget:Canvas.Image
+   id:canvas; width:1;height:1;renderTarget:Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "fillStyle"; when: windowShown
        function test_default() {
index d454c2e..10ee6a6 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "gradient"; when: windowShown
        function test_basic() {
index baf9987..f1c2820 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import"testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50;renderTarget: Canvas.Image
+   id:canvas; width:100;height:50;renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "line"; when: windowShown
        function test_default() {
@@ -828,4 +828,4 @@ Canvas {
 
       }
    }
-}
\ No newline at end of file
+}
index b04ccf5..6aaecbd 100644 (file)
@@ -3,7 +3,7 @@ import QtTest 1.0
 import "testhelper.js" as Helper
 
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "path"; when: windowShown
 
index dd5b662..29c8bc9 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        //TODO
        name: "pattern"; when: windowShown
index 1a3793d..8fd390a 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        //TODO
        name: "pixel"; when: windowShown
index 4405ca6..bcb602a 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        //TODO
 
index 8042cf6..def312d 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        id:testCase
        name: "state"; when: windowShown
index 6b42f8a..2521643 100644 (file)
@@ -3,7 +3,7 @@ import QtTest 1.0
 import "testhelper.js" as Helper
 
 Canvas {
-   id:canvas; width:100;height:50; renderTarget:Canvas.Image
+   id:canvas; width:100;height:50; renderTarget:Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "strokeStyle"; when: windowShown
        function test_default() {
index baeb17c..11618e9 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        //TODO
        name: "text"; when: windowShown
index 834a22f..b8505c6 100644 (file)
@@ -2,7 +2,7 @@ import QtQuick 2.0
 import QtTest 1.0
 import "testhelper.js" as Helper
 Canvas {
-   id:canvas; width:100;height:50; renderTarget: Canvas.Image
+   id:canvas; width:100;height:50; renderTarget: Canvas.Image; renderStrategy:Canvas.Threaded
    TestCase {
        name: "transform"; when: windowShown
        function test_order() {