Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upThe scene is rebuilt everytime we scroll #1921
Comments
|
It would be good to get this done for Austin. Do we have a good idea how to do so? |
|
Currently the animated property bindings are read while flattening the items during the scene building process. Glenn mentioned something in #1774 about reorganizing things to make it so we sample the animated properties while building the frame instead:
|
|
Yup, I'm working on the patch @nical mentioned above - I have all the (wrench) reftests passing except the plane splitting tests. I'm hoping to finish that up today - this task will be very easy to do once that patch lands. |
|
Didn't quite get the picture tree patch finished today, but it's coming together very well. All the Servo/Gecko tests apart from plane splitting are working now. With a bit of luck, that patch should be ready early next week. |
Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes servo#1921.
Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes servo#1921.
Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes servo#1921.
Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes servo#1921.
Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes servo#1921.
Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes servo#1921.
Don't rebuild the entire scene when scrolling with property bindings. Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes #1921. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/2043) <!-- Reviewable:end -->
Instead of rebuilding the entire scene / frame when scrolling while property bindings are present, resolve the animated properties as we prepare primitives and update the clip-scroll tree. For transforms, reference frames now retain the property binding information and build the correct transform in update_node(). We could possibly optimize this in the future to not always rebuild the reference frame transform, if there is no property binding active on this reference frame, if it ever shows up in a profile. For filters, rely on the new Picture tree functionality and resolve the opacity filter value when preparing the picture primitive for rendering. If the property resolves to an invisible filter, then early out from this entire picture primitive. Also update the animation example to demonstrate animating opacity. Fixes servo#1921.
Github issue for https://bugzilla.mozilla.org/show_bug.cgi?id=1408174 since the code it's referencing is in WR proper and not the gecko side of things.