Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP performance without WebGL #266

Closed
jessegreenberg opened this issue Jan 24, 2019 · 4 comments
Closed

ESP performance without WebGL #266

jessegreenberg opened this issue Jan 24, 2019 · 4 comments
Assignees

Comments

@jessegreenberg
Copy link
Contributor

A number of issues in ESP will depend on whether or not we get stop using WebGL in that sim. For instance, how much work it will take to add animating text readouts will depend on whether or not WebGL can be removed (phetsims/energy-skate-park#47). A big part of that decision is to determine the performance impact of removing WebGL.

@KatieWoe could you please compare the performance without WebGL:
https://phet-dev.colorado.edu/html/energy-skate-park/1.0.0-dev.1/phet/energy-skate-park_en_phet.html?webgl=false

to the performance of the deployed sim which uses WebGL when available https://phet.colorado.edu/sims/html/energy-skate-park-basics/latest/energy-skate-park-basics_en.html

There is talk of no longer supporting iPad2, so we mostly care about the impact on Chromebooks, Edge, tablets, and the slowest platforms.

@ariel-phet can you please prioritize this request? I know that QA has a lot to work on right now, I do not feel this has to be done right away.

@samreid
Copy link
Member

samreid commented Jan 28, 2019

I tested https://phet-dev.colorado.edu/html/energy-skate-park/1.0.0-dev.1/phet/energy-skate-park_en_phet.html?webgl=false on iPad Air 2 running iOS 11 and the problem where the the performance drops if an svg element is (partially) offscreen is significant. Using ?profiler and turning on all checkboxes, I see 60fps when dragging the skater in the center of the play area, but it drops to 30fps when part is off the top of the screen. A consistent 30fps may be reasonable (though not desirable), but the main problem is when the frame rate jumps from 30fps to 60fps and the skater speeds up drastically.

Perhaps reopening investigation into phetsims/scenery#270 would be valuable.

Also, please note in phetsims/wave-interference#322 we identified that iOS canvas.drawImage performance changed radically from iOS 11 to iOS 12, so testing on iOS 12 (and other devices indicated in the preceding comment) will still be worthwhile.

Also, ?rootRenderer=canvas (on the same platform) gets around 16fps--pretty laggy.

@KatieWoe
Copy link
Contributor

KatieWoe commented Feb 11, 2019

  Link One Subjective (Without WebGL) Link One Data Link Two Subjective (With WebGL) Link Two Data
Edge Pretty ok 54, normally 60 Very slow, especially when dropped or on ramp 13-21 depends on screen
Internet Explorer good 47-60, normally in 50s Good, not quite as, but mostly 43-60 depends on screen
Chromebook Not bad High 50s Not bad Mid to high 50s
iOS 10 ok but slow with things checked/moving things Anywhere from 20s to 50 ok but slow when moving things low 30s to mid 40s, sometimes dropped into 20s
iOS 11 Ok, poor when reference height changes 27 when moving reference height, high 50s otherwise ok High 50s/60
Mac 10.10 safari Seems fine 45-50 Seems fine 55-60

@KatieWoe
Copy link
Contributor

QA is done. @jessegreenberg let me know if you have any questions.

@jessegreenberg
Copy link
Contributor Author

Thanks @KatieWoe, I summarized in phetsims/energy-skate-park#42 and we will continue there.

I tested the sim in iPad Air 2 iOS 12 as well and the sim is fast with and without WebGL, but does suffer from the issue that @samreid mentioned

I see 60fps when dragging the skater in the center of the play area, but it drops to 30fps when part is off the top of the screen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants