summaryrefslogtreecommitdiff
path: root/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2012-05-18 02:16:54 +0000
committerCedric BAIL <cedric.bail@free.fr>2012-05-18 02:16:54 +0000
commitb0d3526d89609408bcc6541efe1515afb92198a4 (patch)
tree449abde1afd52dd8a3e9ca0b45f4012f26e8ceb4 /legacy/evas/src/modules/engines/gl_sdl/evas_engine.c
parentb2c9b6552a941f4fdcf5e48140aebdddb4f92e54 (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.c3
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
840static void 840static void
841eng_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) 841eng_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,