Closed
Bug 4229
Opened 26 years ago
Closed 26 years ago
Slowness in image rendering on unix.
Categories
(Core :: Graphics: ImageLib, defect, P3)
Tracking
()
VERIFIED
FIXED
People
(Reporter: bruce, Assigned: pavlov)
References
Details
(Whiteboard: Mar 26: Waiting for a Linux build >=3.26.99 that works.)
I ran Quantify on viewer last night (Solaris 2.6, totally debug
build, gcc 2.7.2.3, GTK 1.2.0, etc)
Doing a run like this:
start up
load example 0
go to example 4 and let it load
exit
nsImageGTK::Draw() is called some 250 or so times.
13-14% of execution time is spent within moz_gdk_draw_bgr_image() If
you count the time spent in everything called by
moz_gdk_draw_bgr_image(), then you are looking at around 84-85% of total
execution time.
about 85% of that time is spent within gdk_draw_bgr_image(), so it isn't
entirely the fault of the bit twiddling that goes on there for some
platforms (like mine).
Some things to consider:
Can we do the bit manipulations for the platforms that need it for
RGB->BGR conversions in place in the image?
Should we be dithering in GTK code? Is there any dithering happening in
imglib?
Why are we doing the RBG->RBG conversions on every draw? Why not cache
this?
Are we forcing the Xlib buffers to get flushed too often (and driving up
network overhead)?
Pavlov reported numbers a lot higher than I saw for that test run (about
399 calls to nsImageGTK::Draw(), also running viewer).
I sent ramiro the quantify data that I had on this.
Assigning to ramiro at pnunn's request.
Yes, dithering is handled in imglib.
Ramiro, I'll be happy to work with you on the
RGB/BGR ordering for all platforms once I get
my carpool landed. email me.
-pn
reassigning to me. i'm pretty sure I know whats going on here and am working to
fix it. Pam, I will have some questions for you later.
pavlov:
Thanks for jumping in.
You might want to scan the history on bug#1879.
If this is the same/&or related problem, we've got
to look at a fix for all platforms. tor's fix only
worked for a code path through gtk.
later,
pnunn
Just a quick note. I may have a good fix for the RGB/BGR
problem, but I've got to test like crazy and will need
to coordinate with FE's of all platforms.
-pn
Comment 5•26 years ago
|
||
post a patch to mozilla.patches & mozilla.unix! -Chris
Updated•26 years ago
|
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
i just checked in a fix for this.
elig: if you want to verify the fix, try demo 4 on the viewer on a build before
and after march 26.
Updated•26 years ago
|
Whiteboard: Mar 26: Waiting for a Linux build >=3.26.99 that works.
Comment 8•26 years ago
|
||
Sure. Will check when we have a build that works. ;)
Reporter | ||
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Reporter | ||
Comment 9•26 years ago
|
||
I was able to get a build on this this morning and verify that it was much much
faster. Quantify numbers show that with the old code, doing the same 'run' as
my initial report spent 81% of total execution time in nsImageGTK::Draw() and
with the new code, that is a bit less than 6%. This is great.
Comment 10•26 years ago
|
||
If it's good enough for Bruce, it's good enough for me! Thanks, Bruce!
Assignee | ||
Comment 11•26 years ago
|
||
sorry for bugzilla spam. trying to get these off my radar
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Comment 12•26 years ago
|
||
Re-flagging as Verified.
You need to log in
before you can comment on or make changes to this bug.
Description
•