forked from enlightenment/efl
evas render - don't do extra if checks or loops if not needed
remove some extra looping and if checkign that is taken care of already and just is pointless extra checks in the code creating overhead. tiny amounts, but the amount of meaty speedups lef it running low, so profiling, reading, working and repeating. @optimize
This commit is contained in:
parent
bba368cf79
commit
6a462f925f
|
@ -3055,6 +3055,8 @@ evas_render_updates_internal(Evas *eo_e,
|
||||||
|
|
||||||
// FIXME: don't add redraw rect for snapshot with no filter applied on
|
// FIXME: don't add redraw rect for snapshot with no filter applied on
|
||||||
// Also damage the filter object that use a snapshot.
|
// Also damage the filter object that use a snapshot.
|
||||||
|
if (!redraw_all)
|
||||||
|
{
|
||||||
for (i = 0; i < e->snapshot_objects.count; i++)
|
for (i = 0; i < e->snapshot_objects.count; i++)
|
||||||
{
|
{
|
||||||
obj = (Evas_Object_Protected_Data *)eina_array_data_get(&e->snapshot_objects, i);
|
obj = (Evas_Object_Protected_Data *)eina_array_data_get(&e->snapshot_objects, i);
|
||||||
|
@ -3066,6 +3068,7 @@ evas_render_updates_internal(Evas *eo_e,
|
||||||
obj->cur->geometry.w,
|
obj->cur->geometry.w,
|
||||||
obj->cur->geometry.h);
|
obj->cur->geometry.h);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
eina_evlog("-render_phase4", eo_e, 0.0, NULL);
|
eina_evlog("-render_phase4", eo_e, 0.0, NULL);
|
||||||
|
|
||||||
/* phase 5. add obscures */
|
/* phase 5. add obscures */
|
||||||
|
@ -3089,17 +3092,15 @@ evas_render_updates_internal(Evas *eo_e,
|
||||||
ent = eina_inarray_nth(&e->active_objects, i);
|
ent = eina_inarray_nth(&e->active_objects, i);
|
||||||
obj = ent->obj;
|
obj = ent->obj;
|
||||||
eo_obj = obj->object;
|
eo_obj = obj->object;
|
||||||
if (UNLIKELY((evas_object_is_opaque(eo_obj, obj) ||
|
if (UNLIKELY(
|
||||||
|
(!obj->is_smart) &&
|
||||||
|
(!obj->clip.clipees) &&
|
||||||
|
(evas_object_is_opaque(eo_obj, obj) ||
|
||||||
((obj->func->has_opaque_rect) &&
|
((obj->func->has_opaque_rect) &&
|
||||||
(obj->func->has_opaque_rect(eo_obj, obj, obj->private_data)))) &&
|
(obj->func->has_opaque_rect(eo_obj, obj, obj->private_data)))) &&
|
||||||
(!obj->mask->is_mask) && (!obj->clip.mask) &&
|
|
||||||
evas_object_is_visible(eo_obj, obj) &&
|
evas_object_is_visible(eo_obj, obj) &&
|
||||||
(!obj->clip.clipees) &&
|
(!obj->mask->is_mask) && (!obj->clip.mask) &&
|
||||||
(obj->cur->visible) &&
|
(!obj->delete_me)))
|
||||||
(!obj->delete_me) &&
|
|
||||||
(obj->cur->cache.clip.visible) &&
|
|
||||||
(!obj->is_smart)))
|
|
||||||
/* obscuring_objects = eina_list_append(obscuring_objects, obj); */
|
|
||||||
OBJ_ARRAY_PUSH(&e->obscuring_objects, obj);
|
OBJ_ARRAY_PUSH(&e->obscuring_objects, obj);
|
||||||
if (prepare)
|
if (prepare)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue