3 ms·
The author of EMAN2 is incorrect, I don't know why they claimed that. ChimeraX is probably like Chimera and targets a 30fps but can drop below that significant
by dekhn 3y ago
The author of EMAN2 is incorrect, I don't know why they claimed that. ChimeraX is probably like Chimera and targets a 30fps but can drop below that significantly based on dataset size and rendering quality. It should be using OpenGL with display lists (or some more modern variant on that). The main loop is likely in Python, but if you're just moving a molecule around, the rendering should touch very little python. On a modern machine with an nvidia gaming card it should be fine.
For example, in this case I loaded 2PLV with "open 2PLV" and on the right side, there's an option to select one of the mmcif assemblies, with select 1 being "complete icosahedral assembly, 60 copies of chains 1-4". With the default ribbon rendering, rotating is completely smooth; with all atoms displayed (wireframe or sphere), it's still smooth. Computing a surface for the entire capsid takes well under a second(!) and still renders smoothly. Rotating shows my GPU (nvidia RTX 3080 Ti) at about 50% utilization, and if I exit Chimera, my GPU's releases ~200MB of memory.
Chimera was never intended to do high quality rendering of cellular environments with many hundreds of proteins. It was intended for a combination of nice rendering and scripting directly in python. VMD definitely handled some extremely large scenarios faster. A dedicated small C++ using modern OpenGL would be able to do far, far more than Chimera when it comes to simple rendering without any scripting control.
- dalke 3y agoThanks! That's much more like what I expected.
- COGlory 3y agoOpening the bio-assembly for 3J31 ate about 8 GB of my VRAM, and 32 of my system RAM, in ChimeraX. Which is actually less than I remember a few years ago. I wonder if the render pipeline has changed a bit. That said, it's still very significant if you have 10-20 viruses attached to a cell, for instance. EDIT - that's also for atoms. Going to 3D maps is significantly more computationally intensive. A typical, sub-tomogram average, or annotation will be in MRC file format, which is horrendously slow with a box size > 1024 pixels or so.
- dekhn 3y agoTHere's something wrong with your numbers. Opening 3j31 and turning on the complete assembly uses <<1GB extra system RAM and <1GB extra GPU RAM on my machine. I've worked with 3d maps and the same thing has been true for over 20 years: if you want to work with extremely large systems, you need an expensive graphics card (I was the first person to port Chimera to Linux some ~20 years ago, and we always compared the performance of my gaming cards to faster professional cards. for volumes like 3d maps, the largest volumes always were quite close to the largest graphics cards)