RE: Jmol Tutorial-Authoring Template (JTAT), nearing release (I hope).
Near final demo at http://bioinformatics.org/jmol-tutorials

There is a major unresolved problem which calls into question the 
usability of tutorials using Jmol, and JTAT in particular: running 
out of java memory.

In designing JTAT, my assumption was that a tutorial could show 
several different PDB files, many views each, and even compare 2, 3, 
or 4 molecules/views. This is what we could do in Chime. But it 
contrasts with most Jmol sites I've seen (including FirstGlance in 
Jmol) where one typically views mostly a single PDB file. JTAT tends 
to run out of java memory. The symptom is failure of the molecule to 
appear. You can predict when it is about to happen: on the Jmol menu, 
under About Jmol, it happens around the time "total" memory usage 
equals "maximum" memory usage.

The JTAT Demo now has content in 6 of the 7 planned chapters. In 
Internet Explorer 7, using current java (1.6.0_03), I can view all 
molecular views in all 6 chapters, and then start over again and keep 
going. It appears that the combination of IE7 and current java have 
solved the problem, which is basically a bug that fails to free up 
memory when it is no longer needed. Firefox on Windows and Safari on 
OSX usually run out of memory about half way through the JTAT Demo. 
The only workaround I know about is to quit the browser (which quits 
java), restart the browser, and continue from where you left off. 
Clearly this is unsatisfactory.

So I'll be conducting further tests, reporting the results, and 
discussing this more on jmol-users. Issues to be tested include using 
JmolApplet.jar (single file, as I am now doing) vs. the multiple 
applet .jar files, and whether I get the same memory issues with the 
simplest possible Jmol page vs. JTAT (rather complicated); and 
whether reloading an empty Jmol uses up memory, or only a "full" one 
containing a molecule.

It is possible to increase the memory allocated to java from the 
default 100 megabytes, but doing it is rather fussy, and depending on 
users to do this will certainly eliminate the majority of potential 
users (just as the need to install the Chime plugin did for Chime tutorials).

Suggestions are welcome: How does one force java to flush its memory? 
Since Jmol can report memory used, I suppose it can message that 
somehow. Would it be possible to force the java memory flush FROM 
JAVASCRIPT when it becomes critical? Or better yet, from within Jmol 
itself, when it detects that memory is running out?

JTAT's design may make unnecessary demands on java memory: currently 
it restarts Jmol between chapters, even when the same molecule is 
used in both chapters. (This design, making each chapter independent 
of the others, greatly simplified the internal structure.) Keeping 
the same Jmol loaded between chapters would require major redesign of 
JTAT, and a more complicated internal structure. And it would only 
solve part of the problem. Using different PDB files in the same 
tutorial, and making comparisons side by side, will still be 
demanding on the memory limits.

The fact that IE7 works gives some hope that the java memory bug will 
eventually be solved without any changes in JTAT or Jmol. Apple java 
lags behind java development at Sun. It is currently at 1.5.0_13 vs. 
1.6.0_3 on Windows. That may be part of the Safari problem. But I am 
mystified that in Windows, Firefox, using the same java as IE7, runs 
out of memory, while IE7 doesn't.

In one test, IE6 did run out of memory, but lasted through the 
present 5 chapters before doing so. So it did better than Firefox, 
but not as well as IE7.

I bring this up because you may want to give it consideration when 
you assign priorities to developing complex tutorials. The future is uncertain!

-Eric


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to