Closed Bug 31044 Opened 25 years ago Closed 24 years ago

The transparent background GIF is very slow.

Categories

(Core :: Layout, defect, P5)

x86
All
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: alecf, Assigned: dcone)

References

()

Details

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
Kevin -- can you and RodS track this down for us? Thanks.
Assignee: rickg → kmcclusk
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
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.
Status: NEW → ASSIGNED
Summary: painting the above URL takes 100% CPU utilization → The transparent background GIF is very slow.
Target Milestone: M15
*** Bug 31513 has been marked as a duplicate of this bug. ***
*** Bug 33709 has been marked as a duplicate of this bug. ***
Target Milestone: M15 → M16
*** Bug 20242 has been marked as a duplicate of this bug. ***
*** Bug 34577 has been marked as a duplicate of this bug. ***
fixed with the DrawTile() method added to the RenderingContext.. and letting 
each platform handle these issues.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
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.