phetsims / masses-and-springs

"Masses and Springs" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
4 stars 5 forks source link

iPad 2 Poor Performance #285

Closed JRomero0613 closed 6 years ago

JRomero0613 commented 6 years ago

Test device: iPad 2

Operating System: iOS 9.3.5

Browser: Safari v. 601.1

Problem description: For phetsims/QA#126 The overall performance of the sim on this device is quite poor. With the ?profiler query parameter the frame rate remains in the region of ~20 FPS when a single spring is oscillating and nothing else is being manipulated. Inputting additional inputs slows the frame rate further, reaching single digit FPS values with multiple inputs. It is noticeably "choppy" when sliders are adjusted as the spring is oscillating and when additional tools such as the period trace and timer are active. Large changes such as moving a weight or slider a far distance from its starting position accentuates the "choppiness" where the object jumps from one location to another. Sim is still usable and performs as expected, however multiple inputs really slow the sim down. For reference in no other ?profiler query parameter tests did a device drop below 30 FPS.

Troubleshooting Info: Name: ‪Masses and Springs‬ URL: https://bayes.colorado.edu/dev/html/masses-and-springs/1.0.0-dev.109/phet/masses-and-springs_all_phet.html Version: 1.0.0-dev.109 2018-06-04 18:26:22 UTC Features missing: touch User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36 Language: en-US Window: 1920x1012 Pixel Ratio: 1/1 WebGL: WebGL 1.0 (OpenGL ES 2.0 Chromium) GLSL: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium) Vendor: WebKit (WebKit WebGL) Vertex: attribs: 16 varying: 30 uniform: 4095 Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 32) Max viewport: 16384x16384 OES_texture_float: true Dependencies JSON: {"assert":{"sha":"928741cf","branch":"master"},"axon":{"sha":"37d5839c","branch":"master"},"brand":{"sha":"89d28f63","branch":"master"},"chipper":{"sha":"7d12527d","branch":"master"},"dot":{"sha":"bd4d7035","branch":"master"},"griddle":{"sha":"7be25724","branch":"master"},"joist":{"sha":"85b10c15","branch":"master"},"kite":{"sha":"3b76b24a","branch":"master"},"masses-and-springs":{"sha":"ff22d8d5","branch":"master"},"phet-core":{"sha":"a34b9659","branch":"master"},"phet-io":{"sha":"851c0e4c","branch":"master"},"phet-io-wrapper-classroom-activity":{"sha":"5204ea8e","branch":"master"},"phet-io-wrapper-lab-book":{"sha":"ccaaaa4b","branch":"master"},"phet-io-wrappers":{"sha":"d4607c36","branch":"master"},"phetcommon":{"sha":"ddb76c0c","branch":"master"},"query-string-machine":{"sha":"1f2322e4","branch":"master"},"scenery":{"sha":"dc89d619","branch":"master"},"scenery-phet":{"sha":"4d719538","branch":"master"},"sherpa":{"sha":"ded365aa","branch":"master"},"sun":{"sha":"7addb3e6","branch":"master"},"tandem":{"sha":"3e1c8fd3","branch":"master"},"twixt":{"sha":"050e8f19","branch":"master"}}
ariel-phet commented 6 years ago

@JRomero0613

It is true the performance is not optimal, however, in this particular case there are several factors:

  1. Ipad 2 is a dwindling use platform

  2. This sim is fairly advanced and less likely to be used on an iPad2

  3. I tested the sim on iPad2, and though I agree the performance is not ideal, it is acceptable in this case. It is not pedagogically damaging and I deemed it "good enough"

As always, do of course point out where you feel performance is sub-optimal, but unfortunately, we must sometimes make judgement calls as to the cost-benefit tradeoff for optimizing performance. In this particular case, I do not think it warrants the extra effort (which would be large).

JRomero0613 commented 6 years ago

@ariel-phet I agree that the extra effort would not be worth the time to improve performance on the iPad 2 as it is still usable and the platform is slowly being phased out. I just wanted you to be aware that the sim really starts to push the iPad when there multiple inputs, other than that it looks good to me.