W3C home > Mailing lists > Public > www-style@w3.org > November 2009

Re: [gradients] basics

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Mon, 9 Nov 2009 08:56:40 -0600
Message-ID: <dd0fbad0911090656r29ffe0b1n3dea49a2472b45e@mail.gmail.com>
To: news@terrainformatica.com
Cc: fantasai <fantasai.lists@inkedblade.net>, www-style <www-style@w3.org>
On Mon, Nov 9, 2009 at 12:15 AM, Andrew Fedoniouk
<news@terrainformatica.com> wrote:
> fantasai wrote:
>> Andrew Fedoniouk wrote:
>>> Sorry, this case:
>>>
>>> background: linear-gradient(magenta yellow), url(...)
>>>
>>> has no visual effect but will force image to be downloaded.
>>> Image at url(...) will be covered by linear gradient in full.
>>
>> http://www.w3.org/TR/css3-background/#the-background-image
>>
>>  # Implementations may optimize by not downloading and drawing images
>>  # that are not visible (e.g., because they are behind other, fully
>>  # opaque images).
>
> That statement appears as a good intention without any practical value.
> How would you decide what to download without knowing is particular (remote)
> image transparent or not?

You *do* know - that linear-gradient() rule has no transparency, so
you can decide that it fully occludes any background layers underneath
it before you download anything.

The general problem is of course more difficult.

> Or does this imply that images
> are downloaded one by one?

It doesn't imply such, but if an implementation *did* do so, it would
be allowed to act on image information to decide to stop downloading
images.

As well, note that the quote fantasai pulled refers both to
downloading *and drawing*.  Even when you're downloading all the
images at the same time, you can still usually figure out which pixels
you need to draw from each image, and avoid drawing ones that are
fully occluded by higher layers.

~TJ
Received on Monday, 9 November 2009 14:57:30 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:22 GMT