perf(objects): Deimos, Phobos and Dimorphos hide their back faces and get depth groups; a drag goes from 23 frames over 33 ms to none on an iPad - #1353
Merged
Conversation
…tch took 177 to 225 ms on an iPad, now 47 to 106
… get depth groups; a Deimos drag had 23 frames over 33 ms, now none
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deimos, Phobos and Dimorphos drew both sides of every face: their own stylesheets set
backface-visibility: visiblewhere every other triangle body hides the far side. The browser drew and sorted all 1,600 faces of a Mars moon on each frame, and the bake could build no depth groups for them ("unresolved static facing"). Their stylesheets now hide back faces, and the bake builds the groups: 16, 6 and 7.Proves the change: iPad, the same drag of 390 frames, frames over 33 ms and the longest frame: Deimos 23 and 140 ms to 0 and 24 ms; Phobos 24 and 160 ms to 1 and 37 ms; Dimorphos 0 and 30 ms after. With only the stylesheet changed, before the groups, Deimos had 10 and 69 ms. A drag with half of Deimos's faces removed had 0 and 20 ms, and Tethys, with 2,000 faces and groups, 0 and 27 ms. After a Deimos dataset pick the camera's turn ran about 20 frames of 45 to 70 ms; now none passes 44 ms. Phobos's repeat dataset switches go from 166-187 to 143-147 ms. iPad screenshots after a drag show whole bodies.
Clean: the bake's depth-partition and prepared-presentation tests (27 pass).
Limits: the frame of a Deimos dataset switch itself is unchanged, 202 to 229 ms. Dimorphos was not timed before. This branch sits on the Haumea commit of #1351 until that merges. No phone measured.