2016-07-27 22 views
1

Ich habe Probleme mit dieser einfachen Anwendung. Es wird sehr langsam reagieren (Prozessor-Auslastung ist über 90%), wenn ich Hintergrundbild oder einfach nur Rechteck (ID: Hintergrund im Beispiel unten) vor Button habe, wenn ich dieses Hintergrundrechteck kommentiere, würde die Anwendung schnell reagieren, aber wenn ich hinzufüge " enable.layers: true "to root item, langsame Antwort würde zurückkommen. Wo ist das Problem?Leistungsprobleme

Ich möchte Hintergrundbild und schnelle Antwort beim Klicken haben. Ich verwende dieses Beispiel auf Raspberry Pi 3.

import QtQuick 2.3 


Item { 
    id: root 
    visible: true 
    width: 800 
    height: 480 


    Rectangle { 
     id: background 
     anchors.fill: parent 
     smooth: true 

    } 


    Rectangle { 
     id: button 
     width: 200 ; height: 123 

     anchors.centerIn: parent 

     smooth: true 
     radius: 8 

     //color the button with a gradient 
     gradient: Gradient { 
      GradientStop { 
       position: 1.0 
       color: { 
        if (mouseArea.pressed) 
         return "red" 
        else 
         return "chartreuse" 
       } 
      } 
      GradientStop {position: 0.0; color: "paleturquoise" } 
     } 


     MouseArea { 
      id:mouseArea 
      anchors.fill: parent 
      onPressed: { 
       //handler.turnOn() 
      } 
      onReleased: { 
       // handler.turnOff() 
      } 

     } 
    } 
} 
+0

UPDATE: Wenn dieses Beispiel mit qmlviewer vom Terminal ausgeführt wird, funktioniert es schnell wie erwartet (in diesem Fall muss "import QtQuick 1.1" anstelle von "2.3" verwendet werden. Wenn qmlscene vom Terminal oder mit QQuickView von C++ ausgeführt wird, reagiert diese App sehr schlecht beim Klicken auf den Knopf, – Shiro

Antwort

0

Es löste dieses Problem mit der Aktivierung experimentelle GL unter Raspi-config. Der Grund, warum QtQuick 1.1 funktionierte, lag an dieser Tatsache: "In Qt 5 werden alle QML-Anwendungen mit einer OpenGL-Scenegraph-Architektur und nicht mit dem in Qt 4 verwendeten Graphics-View-Framework gerendert."