JSmol/Rotation Speeds: Difference between revisions
Eric Martz (talk | contribs) |
Eric Martz (talk | contribs) |
||
Line 48: | Line 48: | ||
| (failed) | | (failed) | ||
|} | |} | ||
"n/a": not applicable. | |||
Because Java is so much faster than Javascript, the spinning was further slowed by clicking the "Zoom Larger" button in FirstGlance twice. |
Revision as of 02:59, 18 December 2015
JSmol is the default form of Jmol used in Proteopedia and FirstGlance in Jmol. JSmol is used here to mean the HTML5/Javascript (non Java) application working within a web browser (see Jmol has four forms). The "JS" in JSmol refers to JavaScript. As mentioned in JSmol Notes, JSmol is substantially slower than the Jmol Java applet. With the exception of performance speed, both forms of Jmol have identical capabilities.
Performance of JSmol depends on the underlying performance of the javascript in the browser being used. With smaller macromolecules (under about 2,000 atoms) performance is generally good in all browsers except Internet Explorer. With larger macromolecules, the choice of browser becomes more important for optimal performance.
ConclusionsConclusions
In December, 2015:
- Firefox outperforms all other popular browsers for smoothness and speed of rotation, and is therefore the recommended browser for websites that use JSmol such as Proteopedia and FirstGlance in Jmol.
- Chrome, Edge and Opera rotate molecules in JSmol about half as smoothly as Firefox. That is, they generate about half the number of frames/second as Firefox, so their performance is two-fold slower, and rotation or spinning is half as smooth or twice as jerky.
- Internet Explorer 11 gives unacceptably slow rotation of molecules in JSmol, with a performance about one-fifth that of Firefox.
- Historical note: In 2014, Chrome outperformed Firefox. Changes in Chrome in 2015 reduced its performance for rotating molecules in JSmol. In December, 2015, a change in Chrome (first in version 47) made it unable to rotate molecules in JSmol satisfactorily. As the mouse moved, the molecule remained fixed until the mouse movement stopped, whereupon the molecule jumped to the final position in one step. Bob Hanson was able to work around the change in Chrome with a modification to JSmol, but frames/second are still poorer than they were in Chrome in 2014.
Data (December, 2015)Data (December, 2015)
Tests below were done in FirstGlance in Jmol in the default HTML5/javascript mode. In order to slow down rotation to enable manual counting of frames/second, a large molecule was used: 1g3i, a single model with 45,528 atoms (which puts it in the largest ~2% of entries in the PDB). Tests were done in a browser window approximately 1,900 x 1000 pixels on a late 2014 MacBook Pro (2.2 GHz Intel Core i7 with 1600 MHz DDR3 RAM). Windows 10 was a virtual machine (VMware) on the Mac, running at native speed on the Mac's Intel processor. With spinning on, the number of frames in 10 or 20 sec was counted and used to calculate frames/second. Browsers were the versions current in December, 2015.
Frames/Second in Cartoon, Spacefill
JSmol without JavaOperating System Firefox Safari Chrome Internet Explorer 11 Edge Opera Windows 10 3,9, 4.3 n/a 1.05, 2.7 0.45, 0.45 1.1, 1.25 1.0, 2.4 Mac OS 10.10.5 4.2, 4.1 4.0, 3.3 1.05, 2.95 n/a n/a (failed)
"n/a": not applicable.
Because Java is so much faster than Javascript, the spinning was further slowed by clicking the "Zoom Larger" button in FirstGlance twice.