[Expired for unity8 (Ubuntu) because there has been no activity for 60
days.]

** Changed in: unity8 (Ubuntu)
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1599649

Title:
  High CPU usage on arale when running simple clients with animations

Status in Mir:
  Expired
Status in QtMir:
  Expired
Status in mir package in Ubuntu:
  Expired
Status in qtmir package in Ubuntu:
  Expired
Status in unity8 package in Ubuntu:
  Expired

Bug description:
  It seems that independently from which Mir server I use
  (mir_demo_server, qtmir-demo-shell, unity8) the CPU usage on Arale
  when running any simple client seems to be quite high.

  My investigation started with a designer contacting me about
  https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1431957
  and
  https://bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/1513450

  Since the activity indicator visual has to be updated anyway, we were
  looking at the options we had to also make it less CPU consuming at
  the same time.

  It turned out it's not a matter of how you render it, anything that
  causes redraw at 60fps will cause high cpu usage, here are the results
  I got:

  Tools:
  phablet-shell to run the commands
  top to see cpu usage

  Device:
  Arale, rc-proposed r370

  Setup:
  clean flash + apt-get install qtmir-tests mir-demos
  (qtmir-tests will remove qtmir-android, you'll have to reinstall it until 
https://bugs.launchpad.net/ubuntu/+source/qtmir/+bug/1599614 is fixed)

  echo 806000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
  echo 806000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
  and the same for cpu1 and cpu2 (after bringing them online by scrolling 
scopes)

  Results:
  === Minimal Mir server + egltriangle demo ===
  sudo su
  stop lightdm
  echo 2047 > /sys/class/backlight/lm3630_bled/brightness
  sudo mir_demo_server_minimal --arw-file

  (separate shell, phablet user)
  mir_demo_client_egltriangle -m /tmp/mir_socket

  1 CORE ONLINE
  mir_demo_server: 12.5%
  mir_demo_client: 11%

  === Mir demo server + egltriangle demo ===
  sudo su
  stop lightdm
  echo 2047 > /sys/class/backlight/lm3630_bled/brightness
  LD_PRELOAD=/lib/arm-linux-gnueabihf/libpthread.so.0 mir_demo_server 
--test-client /usr/bin/mir_demo_client_egltriangle

  1 CORE ONLINE
  mir demo server: 20%
  mir_demo_client: 9%

  === Qt Mir demo shell + egltriangle demo ===
  sudo su
  stop lightdm
  echo 2047 > /sys/class/backlight/lm3630_bled/brightness
  cd /usr/share/qtmir/qtmir-demo-shell
  MIR_SERVER_FILE=/tmp/mir_socket QT_QPA_PLATFORM=mirserver qmlscene 
./qml-demo-shell.qml

  (on a separate shell, phablet user)
  MIR_SOCKET=/tmp/mir_socket QT_QPA_PLATFORM=ubuntumirclient sudo 
mir_demo_client_egltriangle -- --desktop_file_hint=dialer-app

  1 to 2 CORES ONLINE (varying)
  qmlscene (Mir server): 27.5% CPU
  mir_demo_client: 10% CPU

  === Unity8 + test qml app ===
  qmlscene test.qml --desktop_file_hint=dialer-app

  2 CORES ONLINE
  Unity8: 30%
  qmlscene: 15%
  USC: 10%

  ==== QML TEST FILE ====
  import QtQuick 2.4
  import Ubuntu.Components 1.3

  Item {
      anchors.fill: parent

      /*AnimatedSprite {
          id: sprite
          width: 69
          height: 69
          source: "spinner-spritesheet.png"
          frameCount: 74
          frameSync: true
          frameWidth: 81
          frameHeight: 81
          loops: 100
      }*/

      /*ActivityIndicator {
          id: indicator
          running: true
      }*/

      Rectangle {
          id: rect
          width: 69
          height: 69
          color: "orange"

          /*RotationAnimation on rotation {
              loops: Animation.Infinite
              from: 0
              to: 360
          }*/

          /*NumberAnimation on x {
              loops: Animation.Infinite
              from: 0
              to: 360
          }*/

          XAnimator {
              target: rect;
              from: 0;
              to: 360;
              duration: 15000
              running: true
          }
      }

      Timer {
          interval: 10000
          running: true
          onTriggered: Qt.quit()
      }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1599649/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to