Bug 231028
| Summary: | CSS transforms are incapable of rendering a simple 3D cube without glitches | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Joe Pea <joe> |
| Component: | CSS | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Critical | CC: | dino, graouts, kevin_neal, simon.fraser, webkit-bug-importer, zalan |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 14 | ||
| Hardware: | iPhone / iPad | ||
| OS: | iOS 14 | ||
Joe Pea
Visit https://lume.io on an iPhone 13 Pro Maxx.
At the time of writing this, the frame rate is not only slow, but the cube (composed of 6 DOM elements with CSS 3D transforms) is glitchy because the sides render on top of each other in the wrong order.
It has been many years (more than a decade) that CSS 3D is considered a low priority feature and neglected, leaving people's attempts at making 3D experiences glitchy and giving end users wrong impressions: LUME is not glitchy, Safari is!
Do you know how serious of on issue there would be in the Unreal Engine and Unity Engine communities if those softwares rendered glitchy cubes at low frame rates? It is just something that would never happen. If it did, you bet it would be fixed immediately.
What about the web? Eh, who cares?
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Kevin Neal
Thank you for filing. I was able to reproduce the bug using the latest iOS 15 beta and macOS. The appropriate engineers have been notified.
Radar WebKit Bug Importer
<rdar://problem/83741550>
Simon Fraser (smfr)
This is about how different implementations do depth-sorting of 3d transformed elements.
Joe Pea
Sorry, I have more recently updated the cube on https://lume.io to one made with WebGL, so the original problem is not currently visible there.
There are plenty of CSS 3D cube examples available here though:
https://www.google.com/search?q=site%3Acodepen.io+css+3D+cube