The default bug view has changed. See this FAQ.

Firefox transform3D CSS appears broken when there are large amount of elements with transform3D present on the page.

NEW
Unassigned

Status

()

Core
Layout
4 years ago
4 months ago

People

(Reporter: Silent Imp, Unassigned)

Tracking

(Depends on: 1 bug)

26 Branch
x86
All
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments)

(Reporter)

Description

4 years ago
Created attachment 789287 [details]
bug.zip

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36

Steps to reproduce:

Create large amount of elements with 3D Transformation applied.


Actual results:

Wrong visibility calculation. Elements cover each other in wrong order.



Expected results:

Right visibility calculation.
(Reporter)

Comment 1

4 years ago
problem is common for all FF versions

Updated

4 years ago
Component: Untriaged → Layout
OS: Mac OS X → All
Product: Firefox → Core

Updated

4 years ago
Status: UNCONFIRMED → NEW
Ever confirmed: true

Updated

4 years ago
Depends on: 689498
(Reporter)

Comment 2

4 years ago
Created attachment 790166 [details]
this is screenshot of expected behaviour
(Reporter)

Comment 3

4 years ago
Created attachment 790172 [details]
this is screenshot of behaviour in Gecko on a small amount of elements
(Reporter)

Comment 4

4 years ago
Created attachment 790174 [details]
this is screenshot of behaviour in Gecko on a big amount of elements
Flags: needinfo?(roc)
I assume this is just the lack of plane splitting. Currently we have some heuristics for z-ordering 3D transformed elements that don't always work. I.e., bug 689498.
Flags: needinfo?(roc)
In addition to the plane splitting being required for correct rendering in many cases, there is currently a hard-coded limit to the number of layers that will be sorted:

https://dxr.mozilla.org/mozilla-central/source/gfx/layers/LayerSorter.cpp?from=LayerSorter.cpp&case=true#236

This is currently set to 100.  When the layer sorting is fixed, this limit will be bumped up to a more reasonable ceiling that is less likely to be hit.
You need to log in before you can comment on or make changes to this bug.