evas: another improvement part of the previous lock less font rendering patch.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 18 May 2012 02:16:54 +0000 (02:16 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 18 May 2012 02:16:54 +0000 (02:16 +0000)
commit3abde5035c4fba3f01258ba052e17632fe616b25
tree1914bb8e493ee08cf955e4ae145818a871e27e77
parente8b9ce65b84273b8df699080cb2ccd916471d53d
evas: another improvement part of the previous lock less font rendering patch.

Now evas will in all case do the layout during the prepare stage. It will do that
once and as long as the text didn't change. This does improve by a factor of at
least 2.3 in all expedite test case except the text change that only get a 30%
increase (I expect a drop in performance on non pipe rendering for text change
expedite test only, but this case is not common in real life).

This also fix the issue that show random size glyph when using pipe rendering.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@71220 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
18 files changed:
src/lib/engines/common/evas_font_draw.c
src/lib/engines/common/evas_font_main.c
src/lib/engines/common/evas_pipe.c
src/lib/engines/common/evas_pipe.h
src/lib/engines/common/evas_text_utils.c
src/lib/engines/common/evas_text_utils.h
src/lib/include/evas_common.h
src/lib/include/evas_private.h
src/modules/engines/direct3d/evas_engine.c
src/modules/engines/directfb/evas_engine.c
src/modules/engines/gl_cocoa/evas_engine.c
src/modules/engines/gl_sdl/evas_engine.c
src/modules/engines/gl_x11/evas_engine.c
src/modules/engines/software_16/evas_engine.c
src/modules/engines/software_16_sdl/evas_engine.c
src/modules/engines/software_8/evas_engine.c
src/modules/engines/software_generic/evas_engine.c
src/modules/engines/wayland_egl/evas_engine.c