The transparent background GIF is very slow.

VERIFIED FIXED in M16

Status

()

Core
Layout
P5
major
VERIFIED FIXED
18 years ago
18 years ago

People

(Reporter: Alec Flett, Assigned: dcone (gone))

Tracking

Trunk
x86
All
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

18 years ago
I have NO idea what is wrong with the above URL, but any paint-related operation
on this page takes CPU usage to 100% and basically brings apprunner to it's
knees on linux, including:
- exposing a new area of the page
- scrolling

Start by assigning to rickg, but it might be linux-specific so I'll CC pavlov
and blizzard

Comment 1

18 years ago
Kevin -- can you and RodS track this down for us? Thanks.
Assignee: rickg → kmcclusk

Updated

18 years ago
Assignee: kmcclusk → dcone
OS: Linux → All
This is a problem on WIN32 as well.

Using quantify on WIN32, I was able to locate the problem.
The problem occurs when tiling background images which have a mask.

The code nsCSSRendering::PaintBackground reverts to a slow tiling algorithm when 
the image to tile has a mask. The normal (non-mask) algorithm creates an 
offscreen drawing surface into which the tile is expanded. The expanded tile is 
then rendered instead of the individual tiles.

The solution is to move the tiling code into the nsRenderingContext. The 
rendering context can use the mask to create an offscreen mask as well as an 
offscreen image to expand into. In addition, if the system toolkit has a call to 
tile bitmaps we can avoid creating the offscreens altogether.

This is only a performance issue when the tiles are small and they have a mask. 
Should be fixed immediately after beta.(Too big of a change to make for beta)
Not only is it slow to load and repaint. It is rendering the transparent parts 
of the gif's as black on WIN32.

Setting severity to Major. 
Severity: normal → major
Priority: P3 → P5

Comment 4

18 years ago
Just observed the same problem at http://base-peak.wiley.com/ , a major
chemistry portal site (in case you need another test case). And yes, the
transparent gif is painted black after the end of the calculations.
(Assignee)

Updated

18 years ago
Status: NEW → ASSIGNED
Summary: painting the above URL takes 100% CPU utilization → The transparent background GIF is very slow.
(Assignee)

Updated

18 years ago
Target Milestone: M15
(Assignee)

Comment 5

18 years ago
*** Bug 31513 has been marked as a duplicate of this bug. ***
(Assignee)

Comment 6

18 years ago
*** Bug 33709 has been marked as a duplicate of this bug. ***
(Assignee)

Updated

18 years ago
Target Milestone: M15 → M16
(Assignee)

Comment 7

18 years ago
*** Bug 20242 has been marked as a duplicate of this bug. ***

Comment 8

18 years ago
*** Bug 34577 has been marked as a duplicate of this bug. ***
(Assignee)

Comment 9

18 years ago
fixed with the DrawTile() method added to the RenderingContext.. and letting 
each platform handle these issues.
Status: ASSIGNED → RESOLVED
Last Resolved: 18 years ago
Resolution: --- → FIXED

Comment 10

18 years ago
I'm not reproducing the problem described with the Maty 22nd build. Marking 
verified frixed.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.