Hi,
I am using version Jmol 13.0.10 with JRE 1.6.
isosurface sasurface
This is a very fast calculation (takes seconds).
isosurface map property temperature
Color mapping / remapping is extremely slow (takes minutes). Why is it so?
I have read that remapping is supposed to be very fast:
http://osdir.com/ml/Jmol-java-viewer-chemical-structures-3d/2011-04/msg00059.html
I need to apply different color mappings to the same surface. Initially I thought that making a JVXL file with polygons/vertex information will save some time. But it turned out that color remapping takes significantly more time than isosurface creation (in case of sasurface). Am I doing it wrong or is it a bug?
Thanks,
Alex
Please move to "Bugs". I accidentally posted it to feature requests. Shall I re-post?
Please move to "Bugs". I accidentally posted it to feature requests. Shall I re-post?
I don't believe this is a bug or a feature request. Color mapping is not slow from grid data, but it can be slow from atom-based data when more than just the nearest-atom value is used, as in MEP. This is because the 1/r dependance of that does not allow for only a local range of values being used (or at least not when done properly -- summed 1/r dependencies go up as r as the distance from the point gets larger in a constant-density field of atoms).
Try
set isosurfacePropertySmoothing FALSE
You can also experiment with
set isosurfacePropertySmoothing TRUE
isosurface sasurface map property temperature within 5.0
which will allow you to still have smoothing but not with such long-range affects. This will be faster.
Does that explain the problem?
Yes, thank you, your answer explains the performance issues I experienced.
Could you please add a note to isosurfacePropertySmoothing documentation, similar to what you have for antialiasing:
"isosurface color mapping performance will be diminished when isosurfacePropertySmoothing is turned on".
Thank you for explaining the "map property ... within [radius]" trick. It works like a charm.
May I suggest that
set isosurfacePropertySmoothing [radius]
seems to be more intuitive than specifying the value in the mapping command.
The [radius] < 4.0 will then be equivalent to switching the smoothing off. This way there will always be a distance cutoff.