efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
authorHermet Park <hermetpark@gmail.com>
Mon, 24 Dec 2018 05:31:05 +0000 (14:31 +0900)
committerSangHyeon Jade Lee <sh10233.lee@samsung.com>
Thu, 27 Dec 2018 03:35:20 +0000 (12:35 +0900)
commit34fb23af96f1d61c2e384aad6ccff2c1d3f8103a
tree43d0bf005c3dcbba23163846ce7c11ec544a2583
parent349fedf8583d491bdc24699adbdf66bf82383011
efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED

Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7494
13 files changed:
src/lib/ector/cairo/ector_renderer_cairo_shape.c
src/lib/ector/cairo/ector_renderer_cairo_shape.eo
src/lib/ector/gl/ector_renderer_gl_shape.c
src/lib/ector/gl/ector_renderer_gl_shape.eo
src/lib/ector/software/ector_renderer_software_shape.c
src/lib/ector/software/ector_renderer_software_shape.eo
src/lib/efl/interfaces/efl_gfx_path.c
src/lib/efl/interfaces/efl_gfx_path.eo
src/lib/efl/interfaces/efl_gfx_shape.c
src/lib/elementary/efl_ui_textpath.c
src/lib/elementary/efl_ui_textpath.eo
src/lib/evas/canvas/efl_canvas_vg_shape.c
src/lib/evas/canvas/efl_canvas_vg_shape.eo