diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2012-05-18 02:16:54 +0000 |
---|---|---|
committer | Cedric BAIL <cedric.bail@free.fr> | 2012-05-18 02:16:54 +0000 |
commit | b0d3526d89609408bcc6541efe1515afb92198a4 (patch) | |
tree | 449abde1afd52dd8a3e9ca0b45f4012f26e8ceb4 /legacy/evas/src/modules/engines/gl_sdl/evas_engine.c | |
parent | b2c9b6552a941f4fdcf5e48140aebdddb4f92e54 (diff) |
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.
SVN revision: 71220
Diffstat (limited to '')
-rw-r--r-- | legacy/evas/src/modules/engines/gl_sdl/evas_engine.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c b/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c index 22fab0858f..149eab01c7 100644 --- a/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c +++ b/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c | |||
@@ -838,7 +838,7 @@ eng_image_scale_hint_get(void *data __UNUSED__, void *image) | |||
838 | } | 838 | } |
839 | 839 | ||
840 | static void | 840 | static void |
841 | eng_font_draw(void *data, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, int oh __UNUSED__, const Evas_Text_Props *intl_props) | 841 | eng_font_draw(void *data, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, int oh __UNUSED__, Evas_Text_Props *intl_props) |
842 | { | 842 | { |
843 | Render_Engine *re; | 843 | Render_Engine *re; |
844 | 844 | ||
@@ -858,6 +858,7 @@ eng_font_draw(void *data, void *context, void *surface, Evas_Font_Set *font, int | |||
858 | evas_gl_font_texture_new, | 858 | evas_gl_font_texture_new, |
859 | evas_gl_font_texture_free, | 859 | evas_gl_font_texture_free, |
860 | evas_gl_font_texture_draw); | 860 | evas_gl_font_texture_draw); |
861 | evas_common_font_draw_prepare(intl_props); | ||
861 | evas_common_font_draw(im, context, x, y, intl_props); | 862 | evas_common_font_draw(im, context, x, y, intl_props); |
862 | evas_common_draw_context_font_ext_set(context, | 863 | evas_common_draw_context_font_ext_set(context, |
863 | NULL, | 864 | NULL, |