evas render - flush, dont clear unref/clean arrays on render done

we build these arrays to hold tjhings to clean up when done ... but if
one frame happens ot have a lot - the allocation stays huge as we only
clean not flush, so flush to keep memory down.

@optimize
This commit is contained in:
Carsten Haitzler 2020-04-18 17:28:10 +01:00
parent 821f9bc57c
commit b41aac6caa
1 changed files with 4 additions and 4 deletions

View File

@ -3902,17 +3902,17 @@ evas_render_wakeup(Evas *eo_e)
/* unref queues */
eina_array_foreach(&evas->scie_unref_queue, _drop_scie_ref, NULL);
eina_array_clean(&evas->scie_unref_queue);
eina_array_flush(&evas->scie_unref_queue);
evas_common_rgba_image_scalecache_prune();
eina_array_foreach(&evas->image_unref_queue, _drop_image_cache_ref, NULL);
eina_array_clean(&evas->image_unref_queue);
eina_array_flush(&evas->image_unref_queue);
eina_array_foreach(&evas->glyph_unref_queue, _drop_glyph_ref, NULL);
eina_array_clean(&evas->glyph_unref_queue);
eina_array_flush(&evas->glyph_unref_queue);
eina_array_foreach(&evas->texts_unref_queue, _drop_texts_ref, NULL);
eina_array_clean(&evas->texts_unref_queue);
eina_array_flush(&evas->texts_unref_queue);
SLKL(evas->post_render.lock);
jobs_il = EINA_INLIST_GET(evas->post_render.jobs);