7834bec52a
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 |
||
---|---|---|
.. | ||
drm | ||
integration | ||
libinput | ||
libkwineffects | ||
libxrenderutils | ||
tabbox | ||
abstract_client.h | ||
client.h | ||
CMakeLists.txt | ||
fakeeffectplugin.cpp | ||
fakeeffectplugin.json | ||
fakeeffectplugin_version.cpp | ||
fakeeffectplugin_version.json | ||
mock_abstract_client.cpp | ||
mock_abstract_client.h | ||
mock_client.cpp | ||
mock_client.h | ||
mock_effectshandler.cpp | ||
mock_effectshandler.h | ||
mock_screens.cpp | ||
mock_screens.h | ||
mock_workspace.cpp | ||
mock_workspace.h | ||
onscreennotificationtest.cpp | ||
onscreennotificationtest.h | ||
opengl_context_attribute_builder_test.cpp | ||
test_builtin_effectloader.cpp | ||
test_client_machine.cpp | ||
test_gbm_surface.cpp | ||
test_gestures.cpp | ||
test_plugin_effectloader.cpp | ||
test_screen_edges.cpp | ||
test_screen_paint_data.cpp | ||
test_screens.cpp | ||
test_scripted_effectloader.cpp | ||
test_virtual_desktops.cpp | ||
test_virtualkeyboard_dbus.cpp | ||
test_window_paint_data.cpp | ||
test_x11_timestamp_update.cpp | ||
test_xcb_size_hints.cpp | ||
test_xcb_window.cpp | ||
test_xcb_wrapper.cpp | ||
test_xkb.cpp | ||
test_xrandr_screens.cpp | ||
testutils.h | ||
workspace.h |