rachelandrew / gridbugs

A curated list of Grid interop issues
MIT License
1.18k stars 25 forks source link

Nested grid performance in Safari #60

Open syren opened 1 year ago

syren commented 1 year ago

I'm working on a project and have been trying to debug it for a couple days. I have a game with a drag and drop interface that uses several nested grids for the layout. The cards that are dragged are within a grid, and using GSAP's Draggable, they are cloned and dragged.

In Safari on iOS, there's a ~1s delay upon a card being picked up. I thought it was touch-related, but it was resolved when I removed the grid rules. I did some digging and found this example:

https://codepen.io/brendanmckenzie/pen/NWpKWez

There's a delay on desktop Safari, but its much more pronounced on iPad. If you remove the display: grid in the Codepen you'll see that clicking into the textarea is immediate, and both fields have a 1-2s delay when CSS grid is on. On desktop the issue is the speed on the nested textarea, but on iPad they are both equally slow.

My UI uses a lot of previously reported things that Safari takes issue with (intrinsic/extrinsic sizing, etc) but the above Codepen illustrates that it's just plain grid that has the performance issue.

Is this known? Is there anything I can do to debug this further? Any suggestions?