Page MenuHomePhabricator

evas_map change results in full redraw
Closed, ResolvedPublic

Description

This may be a known thing but it's causing some pretty ugly performance glitches on even reasonable hardware (i5 here) when software rendering.

Enlightenment move/resize pop-ups and menus use evas maps when they pop up (this stuff is in e_zoomap.c). I end up with a flurry of full screen redraws at the start of any window move or when I mouse through the menu that comes up when I left click on the desktop.

These take long enough to cause my i5 to visibly stutter at 1920x1200.

Perhaps my description is a bit crap. the problem seems to be that if an object has a map in one frame and not in the next (or the opposite), the entire evas is redrawn. There are a couple of

if (map != hmap) *redraw_all = 1;

in evas_render.c to ensure this.

I assume this is because it's Hard to know the correct damage region (especially if we don't keep the old map around), but full redraws do hurt...

"map update workarounds". :( this is one of those things that you then optimize and then find another corner case and have to fix it again. you're right. it's not good. it's kind of bad. but this is a minefield if you poke at it enough.

this probably has to go on the "later" pile. :(

raster claimed this task.Nov 17 2016, 4:08 PM
raster triaged this task as Normal priority.
raster added a project: efl.

bah, easy fix. fixed!

ManMower reopened this task as Open.Jul 6 2018, 7:26 AM

I think we're back...

I think T7100 is this again - when closing the menu it appears that there are 2 full screen redraws at the very end of animation.

bu5hm4n edited projects, added efl: rendering; removed efl.Jul 9 2018, 2:00 AM