author | Antonio Rojas
<arojas@archlinux.org> 2015-07-27 16:29:28 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2015-07-27 16:29:28 UTC |
parent | 7af7cad08d826f2a6172055adaa3b273ddb2068b |
PKGBUILD | +9 | -4 |
cpu-plotter.patch | +29 | -0 |
diff --git a/PKGBUILD b/PKGBUILD index cbb4773..cac8666 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgname=kdeclarative pkgver=5.12.0 -pkgrel=1 +pkgrel=2 pkgdesc='Provides integration of QML and KDE Frameworks' arch=('i686' 'x86_64') url='https://projects.kde.org/projects/frameworks/kdeclarative' @@ -11,11 +11,16 @@ license=('LGPL') depends=('kio' 'libepoxy' 'kpackage') makedepends=('extra-cmake-modules') groups=('kf5') -source=("http://download.kde.org/stable/frameworks/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz") -md5sums=('62cb010adb59c15129743ad57fdc198a') +source=("http://download.kde.org/stable/frameworks/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz" 'cpu-plotter.patch') +md5sums=('62cb010adb59c15129743ad57fdc198a' + '12f60b78bf77a69957349989d33ceeda') prepare() { - mkdir build + mkdir -p build + +# Fix high CPU usage in plotter component http://bugs.kde.org/show_bug.cgi?id=348385 + cd $pkgname-$pkgver + patch -p1 -i ../cpu-plotter.patch } build() { diff --git a/cpu-plotter.patch b/cpu-plotter.patch new file mode 100644 index 0000000..0982866 --- /dev/null +++ b/cpu-plotter.patch @@ -0,0 +1,29 @@ +From: David Edmundson <kde@davidedmundson.co.uk> +Date: Mon, 27 Jul 2015 10:54:17 +0000 +Subject: Don't refresh the entire window when we render the plotter +X-Git-Url: http://quickgit.kde.org/?p=kdeclarative.git&a=commitdiff&h=7a6a2cda780784e504960c96b4b41241ddf10531 +--- +Don't refresh the entire window when we render the plotter + +This means the window is only updated when the plotter changes, rather +than effectively every possible frame. + +Reviewed by: Marco Martin + +CCBUG: 348385 +--- + + +--- a/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp ++++ b/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp +@@ -709,9 +709,6 @@ + + // Delete the VBO + glDeleteBuffers(1, &vbo); +- if (window()) { +- window()->update(); +- } + } + + QSGNode *Plotter::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *updatePaintNodeData) +