Read-only mirror of https://gitlab.gnome.org/GNOME/gnome-shell
318283fc70
Currently the box-shadow is rendering is done like this : The first time we want to render a node that requires a box-shadow, St creates an cogl offscreen surface of the size of the allocation and renders the box into this offscreen buffer using modulation on the alpha channel, this buffer is then blurred according to the CSS parameters. The problem with this method is that every time an StWidget is resized, its box-shadow offscreen buffer has to be resized and therefore rendered and blurred. This patches propose an optimization for this use case by rendering the box-shadow only once but at a size that is independent of the StWidget's size. Then every time we need to paint this box-shadow, we just render this offscreen buffer using a 9-slices. This method only works when the allocation of the widget is bigger than the minimum shadow size on which we can apply a 9-slices, that is given my the radius of the corners. If the allocation is smaller than this minimum size, we then fallback to the fully render/blur the shadow (like before this patch). https://bugzilla.gnome.org/show_bug.cgi?id=689858 |
||
---|---|---|
.settings | ||
browser-plugin | ||
data | ||
docs | ||
js | ||
man | ||
po | ||
src | ||
tests | ||
tools | ||
.gitignore | ||
.gitmodules | ||
.project | ||
AUTHORS | ||
autogen.sh | ||
configure.ac | ||
COPYING | ||
gnome-shell.doap | ||
HACKING | ||
MAINTAINERS | ||
Makefile.am | ||
NEWS | ||
README |
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience. For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see: http://live.gnome.org/GnomeShell Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell' product. License ======= GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.