Comment 14 for bug 1043260

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think I've found the problem.

The launcher, dash and panel are always separate entities painted separately. When the dash is open, they still get painted separately, each one getting blurred and then coloured (usually darkened). Unity seems to paint the launcher, then panel, then dash.

The problem is that the panel and launcher get rendered before the dash content. So the edges of the dash blur include those blurred and coloured (darkened) pixels already rendered for the launcher and panel.

So it looks like there are several possible ways to fix it:
  (1) Redesign everything and paint all three blur rectangles in one function. That's messy and hard.
  (2) Ensure none of the rectangles are coloured/darkened until after ALL of them have been blurred.
  (3) Cheat. Don't grow your blur region beyond the rectangle you're painting. The edges may look slightly wrong sometimes, but it's not as bad as this bug.
  (4) Save a single copy of the original background texture (with no shell painted on it) and use that single copy as the source for all blur operations. Even better: save a single blur texture to use on all three. That should solve this and speed up active blur 3x!

I think #4 is probably most sensible.