kwin/libkwineffects
David Edmundson 7834bec52a [libkwineffects] Replace property name lookup with calling the virtual methods
Summary:
EffectWindow proxies its properties from the client/deleted's
properties.

QObject::property(char*) is a slow string search. It's a loop
of string comparisons not a hash lookup!

QML's use of properties is different, there's a property cache.

It's fetched multiple times for every window in every paint of some
effects (such as blur). Hotspot shows this as a significant amount of
the render pass (X11) with nothing in kwin animating.

This patch replaces the macro that does
parent()->property("propertyName")
with a macro calling the relevant function directly without metaobjects.

This also improves type safety for future changes.

Test Plan:
Existing unit tests
Ran it for a bit

Reviewers: #kwin, graesslin

Subscribers: graesslin, zzag, broulik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D16602
2018-11-30 11:22:20 +00:00
..
CMakeLists.txt Bump libkwineffects SO version for 5.15 2018-10-04 00:57:44 +03:00
Mainpage.dox Move kwineffects library into own directory 2011-02-19 10:01:31 +01:00
Messages.sh Improve message extraction 2011-02-20 16:02:33 +01:00
anidata.cpp [scripting] Introduce redirect function 2018-11-17 13:44:16 +02:00
anidata_p.h [scripting] Introduce redirect function 2018-11-17 13:44:16 +02:00
kwinanimationeffect.cpp [scripting] Introduce complete function 2018-11-17 13:44:20 +02:00
kwinanimationeffect.h [scripting] Introduce complete function 2018-11-17 13:44:20 +02:00
kwinconfig.h.cmake Move linking to DL_LIBRARY to x11standalone platform 2016-11-22 14:22:06 +01:00
kwineffects.cpp [libkwineffects] Replace property name lookup with calling the virtual methods 2018-11-30 11:22:20 +00:00
kwineffects.h [libkwineffects] Replace property name lookup with calling the virtual methods 2018-11-30 11:22:20 +00:00
kwinglobals.h Fix minor EBN issues 2018-08-29 21:02:16 +03:00
kwinglplatform.cpp Fix the build on armhf/aarch64 2018-03-06 09:25:33 +05:30
kwinglplatform.h [libkwineffects] Add detection code for Qualcomm Adreno to GLPlatform 2016-08-12 09:59:38 +02:00
kwingltexture.cpp don't override m_canUseMipmaps 2018-03-14 04:37:44 +02:00
kwingltexture.h Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
kwingltexture_p.h [libkwineffects] Try fixing compile error with clang 2017-10-01 09:54:12 +02:00
kwinglutils.cpp [libkwineffects] Push render targets more efficiently in GLRenderTarget::pushRenderTargets 2018-07-03 12:33:04 +03:00
kwinglutils.h Updated the blur method to use the more efficient dual kawase blur algorithm. 2018-01-26 02:31:45 +09:00
kwinglutils_funcs.cpp [kwinglutils] Drop eglResolveFunctions 2016-11-17 12:59:48 +01:00
kwinglutils_funcs.h Remove epoxy/egl.h from kwinglutils_func.h 2016-11-22 14:21:40 +01:00
kwinxrenderutils.cpp [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
kwinxrenderutils.h [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
logging_p.h pedantic fixes 2016-07-16 13:14:44 -04:00