Closed Bug 153456 Opened 23 years ago Closed 23 years ago

RealizePalette causes performance problems

Categories

(Core Graveyard :: GFX, defect, P1)

x86
Windows XP
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.0.1

People

(Reporter: kmcclusk, Assigned: dcone)

Details

(Keywords: topembed+, Whiteboard: [adt2])

Attachments

(1 file)

The RealizePalette call in nsRenderingContextWin::CopyOffScreenBits is expensive and it does not seem to be necessary. It causes performance issues for some Gecko based applications running in 8-bit display mode.
Keywords: topembed+
Priority: -- → P1
Target Milestone: --- → mozilla1.0.1
If you apply this patch (taking out the RealizePalette() call in the CopyOffScreenBits seems we play nicer with embedded applications. Seems that RealizePalette is called everytime the copy from the offscreen buffer goes to the front which is expensive.. and can timeout the embedded aplications. The RealizePalette() is called alreadywhen the nsRenderingContext is constructed and when the pixels are locked. I just commented out the one call to RealizePalette until I can completly fix this correctly. I opended a bug (#153367) for fixing the palettes once and for all and commented in the source. I am trying to make this as small a risk as possible. I tested with my build for a day using 256 colors and playing with apps that mess with the palette. I also have a utility that looks at the system palette while I did that. No new bugs appeared.. although I did notice some bugs that were already there. My point is that nothing got worse. Performance did improve.
Comment on attachment 88696 [details] [diff] [review] Patch to take out the realizepalette from the bitblit copy r=kmcclusk@netscape.com
Attachment #88696 - Flags: review+
Comment on attachment 88696 [details] [diff] [review] Patch to take out the realizepalette from the bitblit copy sr=waterson
Attachment #88696 - Flags: superreview+
fixed
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
We need to get this onto the Mozilla 1.01 branch as well. Don : Can you please send a note to ADT/Drivers for branch checkin approval..thanks
Keywords: adt1.0.1
Whiteboard: [adt2]
please checkin to the 1.0.1 branch. once there, remove the "mozilla1.0.1+" keyword and add the "fixed1.0.1" keyword.
Keywords: mozilla1.0.1+
adding adt1.0.1+. Please check into the branch asap.
Keywords: adt1.0.1adt1.0.1+
Patch checked in to the 1.01 branch (by Dcone)
Not sure how QA can verify this one. Need to put verified1.0.1 in keyword field when verified on branch.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: