Closed Bug 277766 Opened 20 years ago Closed 20 years ago

DHTML performance regression due to the fix for bug 270804

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: martijn.martijn, Assigned: roc)

References

()

Details

(Keywords: perf, regression, testcase)

This is a spin-off from bug 277044.

A 2004-11-25 Firefox trunk build takes 8382ms for the position fixed/transparent
image case.
A 2004-11-26 Firefox trunk build takes 16033ms for the position
fixed/transparent image case. The position fixed/non-transparent image is also
slightly slower. In 2004-11-25 build: 8132ms and in 2004-11-26 build: 10055ms.

See also http://martijn.heelveel.info/test/mozilla/slowdhtml/slow_relative2.html
for the specs of my computer.

Also I built a Mozilla build from source dated 2004-11-23 (In this one I had the
patch for bug 228399, I needed it for bug 277762):

Test results before I added the patch from bug 270804 (results in ms):
relative: transpare: 38465
absolute: transpare: 8031
fixed   : transpare: 9233
static  : transpare: 8022
relative: not_trans: 10055
absolute: not_trans: 8022
fixed   : not_trans: 8052
static  : not_trans: 8022
relative: div_block: 8022
absolute: div_block: 8022
fixed   : div_block: 8032
static  : div_block: 8032

Test results after I added the patch from bug 270804 and rebuilt (results in ms):
relative: transpare: 38365
absolute: transpare: 8022
fixed   : transpare: 68849
static  : transpare: 8031
relative: not_trans: 10044
absolute: not_trans: 8022
fixed   : not_trans: 12058
static  : not_trans: 8032
relative: div_block: 8032
absolute: div_block: 8032
fixed   : div_block: 8032
static  : div_block: 8022

You can see in these results that the fixed position/transparent image has
become much slower after I applied the patch).

By the way (I don't know if it is relevant), the 2004-11-23 Mozilla source
didn't have the fix for bug 209694 inside, so I had to add the patch from bug
270804 by hand.
Blocks: 277044
No longer blocks: 277762
This happens on Linux too.

Why does touching block reflow affect fixed-pos element repositioning, exactly?
 That really shouldn't be happening...
Assignee: nobody → roc
Flags: blocking1.8b?
OS: Windows 2000 → All
Hardware: PC → All
OK.  I profiled the CPU usage I see with position:fixed on the testcase.  It's
almost all spent in painting.

I'm also not really seeing the fix for bug 270804 affecting things much here,
but I may just have too fast a machine to really notice... :(
Flags: blocking1.8b? → blocking1.8b+
I retested the stuff here, just to be sure.
Tested with a Duron 600MHz, 512MB, GeForce2MX 100/200 32MB, 16bits color display
1024*768pixels.

This was tested with a debug build of appr. a week old.
Results:             with patch  without patch
relative: transpare: 45395       44654
absolute: transpare: 40108       40147
fixed   : transpare: 40569       40508
static  : transpare: 8032        8052
relative: not_trans: 12097       12128
absolute: not_trans: 8061        8122
fixed   : not_trans: 8081        8242
static  : not_trans: 8031        8031
relative: div_block: 8452        8382
absolute: div_block: 8031        8022
fixed   : div_block: 8031        8032
static  : div_block: 8031        8042

Results of builds between 2004-11-25 (10:19am) and 2004-11-26 (7:42am)
Results              2004-11-25  2004-11-26
relative: transpare: 22512       22613
absolute: transpare: 8031        8031
fixed   : transpare: 8382        16073
static  : transpare: 8032        8032
relative: not_trans: 16624       17896
absolute: not_trans: 8032        8031
fixed   : not_trans: 8122        10034
static  : not_trans: 8031        8032
relative: div_block: 11387       11657
absolute: div_block: 8032        8031
fixed   : div_block: 8122        8121 
static  : div_block: 8032        8031 

So, this time I'm not seeing much difference with/without the patch from bug
270804 applied, but the nightly builds in that period still show a performance
difference. 
Maybe this debug build is suffering too much from bug 277762 to see the
improvement/degradance (the previous test I had done, didn't suffer from bug
277762)? I can't see anything in the time that could cause this performance
degradance.
Please, please do not test performance in debug builds...the results are simply
not dependable.
Ok, sorry for that. I retested now with a non-debug Firefox build, with and
without the patch:

Results:             With patch: Without patch:
relative: transpare: 46076       44404
absolute: transpare: 43442       41970
fixed   : transpare: 83090       80235
static  : transpare: 8032        8032
relative: not_trans: 8112        8032
absolute: not_trans: 8032        8022
fixed   : not_trans: 10465       10265
static  : not_trans: 8021        8022
relative: div_block: 8031        8022 
absolute: div_block: 8021        8032
fixed   : div_block: 8051        8032 
static  : div_block: 8031        8032 
(In reply to comment #5)

Is there a bug here, then? Or should we close this?
I guess this bug can be closed, the effect from bug 270804 seems pretty minor.
The results from comment 0 are probably wrong (sorry about that).
so noted. no worries --- you're doing incredible work.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.