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
..
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
CMakeLists.txt Bump libkwineffects SO version for 5.15 2018-10-04 00:57:44 +03: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
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
kwinglplatform.h
kwingltexture.cpp
kwingltexture.h Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
kwingltexture_p.h
kwinglutils.cpp [libkwineffects] Push render targets more efficiently in GLRenderTarget::pushRenderTargets 2018-07-03 12:33:04 +03:00
kwinglutils.h
kwinglutils_funcs.cpp
kwinglutils_funcs.h
kwinxrenderutils.cpp
kwinxrenderutils.h
logging.cpp
logging_p.h
Mainpage.dox
Messages.sh