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 upServo Experiments do not perform well #14415
Comments
|
The doge test works fine for me on linux (although it does go into a bullet-time effect if you move the mouse). |
|
The tiles demo does lag for me on linux, however. |
|
cc @pcwalton if you're looking for some simple perf profiling to tackle. |
|
Dogetest only gets to 7 before completely freezing for me. OSX elcappitan, Macbook pro mid 2012 |
|
There is also some weird interaction with moving the mouse. Dogetest worked well when my mouse did not move after launching the demo. This did not apply to Tiles however. |
|
Still exists at 0.0.1-e315da0 (from nightly dmg) |
|
I tried the tiles demo on Linux + servo master. It is certainly very laggy. I ran the webrender profiler, and all the WR threads appear to running well above 60 fps, so it seems unrelated to rendering performance. Perhaps something changed in the way rAF callbacks are dispatched, or something in the style system? (I know that the tiles demo is particularly heavy on styling). Any ideas @Manishearth or @metajack ? |
|
Nothing that I'm aware of. @pcwalton ? |
|
I couldn't reproduce the Dogetest regression, but I bisected the Tiles one because I was bored and didn't feel like actually doing anything. It seems the mindset of a sleep-deprived teenager is useful for something after all. The great majority of the hit came from #13866. It was getting noticeably choppy at times before that, which is probably worth looking into, but it was still very smooth for the most part on my PC. |
|
@Permutatrix Thanks for taking the time to look at it! @bholley @Manishearth Is there any easy fix we can make for this to get the demo running well again in time for next week? |
|
Dogetest seemed to work well for me on OSX Yosemite |
|
@emilio Says that the current transition infrastructure probably can't do better than this for now, but I'll let him comment. |
|
Yeah, the current state of our transitions infra isn't great right now. Cool part is, there's work to do transitions in Servo fully conformant to the transitions spec. First of all, thanks @Permutatrix for taking time to look at it. I had taken for granted that this regression had been caused by #13202, (maybe the choppiness came from there? worth looking into), and we've had long discussions about the rule tree perf, so your investigation kind of a relief. To state the problem more clearly, that code that @bholley removed in that PR was pretty much a hack. Right now Servo does OMT transitions, which run unsynchronized with script, which is wrong. The code that should take care of restyle the element should be the layout code that expires the animations, but of course that is not happening right now, because it'd be racy. Instead we wait to dirty it when we're back in script, which is also wrong and kind of a hack. That is tracked in #13865, and as I said there's work to do that properly coming in. Thanks for looking into it again :) |
|
First one is still laggy, second one doesn't even display the doges anymore. |
Tested on OSX 10.12.1 (16B2555), MacBook Pro (Retina, 15-inch, Early 2013) using Servo 0.0.1-4021d05