Evas_Render: upstream performance improvements port, so object map works now
authorVitalii Vorobiov <vi.vorobiov@samsung.com>
Thu, 22 Dec 2016 10:01:38 +0000 (12:01 +0200)
committerWonki Kim <wonki_.kim@samsung.com>
Mon, 2 Jan 2017 07:27:07 +0000 (16:27 +0900)
commitada637658024cab86d58e67bee3027e9941c3d34
treeac25c270aefae1e1801520d654c6cff515dc4816
parent347283775a467061e1766b2fe52016e3c4caaf63
Evas_Render: upstream performance improvements port, so object map works now

Based on commits that improve render performance from upstream EFL.
This commit is important for map on Windows, because if there are
objects with map.on: 1, it caused app window to be re-rendered over and
over, so it leads to high CPU load and lots of events didn't worked (so
combobox, scroller, etc turns out to be broken). This is very important
commit that won't recalculate entire canvas every time if mapped object
is already calculated.
Source code was taken (fully or just partially) from lots of render-related
commits of upstream efl:

> Carsten Haitzler <raster@rasterman.com>
Commits are: ac10a00a606e865869cb85aa496f2ed4470478038dd20ad8,
26189dc97bdcb0b8a4aac60ad7c6fca6ecc556c7c844d9ae6a462f925fa3815e,
4dee873ae3489d5f
> Jean-Philippe ANDRÉ <jp.andre@samsung.com>
Commits are: f00f4662f50b0fedbff8dcfe4d1c53d981ed0de0f00f4662ac5ca928
> Hermet Park <hermet@hermet.pe.kr>
Commit: 8233770e
> Cedric BAIL <cedric@osg.samsung.com>
Commit: ee16c647
> Jean Guyomarc'h <jean@guyomarch.bzh>
Commit: 5b0ddfec

Change-Id: Ifd632d05900ab7766dd66bd5148b5eb469131ec0
Signed-off-by: Vitalii Vorobiov <vi.vorobiov@samsung.com>
src/lib/evas/canvas/evas_layer.c
src/lib/evas/canvas/evas_main.c
src/lib/evas/canvas/evas_object_image.c
src/lib/evas/canvas/evas_object_smart.c
src/lib/evas/canvas/evas_render.c
src/lib/evas/include/evas_inline.x
src/lib/evas/include/evas_private.h