Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#1454 closed defect (fixed)

showPivot performance problems

Reported by: olibclarke@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Graphics Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-18.2.0-x86_64-i386-64bit
ChimeraX Version: 0.8 (2018-11-16)
Description
Hi,

Thanks for adding trackpad support - it's buttery-smooth and works perfectly now :)

While using the cofr command, I noticed something that may or may not be a bug. Specifically, the `cofr showPivot true` command seems to cause dramatic slowdowns in rendering under certain circumstances.

1. If `cofr centerofview` is set, `showPivot true` causes very slow and jerky translation (rotation is fine).

2. if `cofr frontcenter` is set, `showPivot true` causes very slow and jerky rotation, but translation is fine.

Test on a large pdb (e.g. 5TAQ), with a molecular surface and soft lighting.

Cheers
Oli

Log:
UCSF ChimeraX version: 0.8 (2018-11-16)  
How to cite UCSF ChimeraX  

> open
/Users/oliverclarke/Dropbox/Documents/Work/Projects/RyR/ryr_paper_3/structures_and_maps/cam_maps_and_models/tet_moved.pdb

Chain information for tet_moved.pdb #1  
---  
Chain | Description  
A B G I | No description available  
C D E K | No description available  
F H J O | No description available  
  

> camera ortho

> lighting soft

> open
/Users/oliverclarke/Dropbox/Downloads/cryosparc_exp000880_class_001_iter_062.mrc

File not found:
/Users/oliverclarke/Dropbox/Downloads/cryosparc_exp000880_class_001_iter_062.mrc  

File not found:
/Users/oliverclarke/Dropbox/Downloads/cryosparc_exp000880_class_001_iter_062.mrc  

> surface #1

> set bgColor #3f3f3f

> set bgColor #424242

> set bgColor #5c5c5c

> set bgColor #cccccc

> set bgColor #ffffff

> help help:user

Developer warnings in user commands index:

  * didn't expect href to be to tools/sequenceviewer.html on line 245

  

> cofr

Center of rotation: 251.15 251.35 248.46 front center  

> cofr

Center of rotation: 251.15 251.35 248.46 front center  

> cofr centerOfView

> cofr

Center of rotation: 275.99 269.71 251.39 center of view  

Missing "showPivot" keyword's argument  

Invalid "showPivot" argument: Expected some numbers or true or false  

> cofr showPivot true

> cofr frontCenter

> cofr centerOfView

> cofr frontCenter

> cofr showPivot true




OpenGL version: 4.1 ATI-2.2.8
OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.

Change History (6)

comment:1 by pett, 7 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionshowPivot performance problems

comment:2 by Tom Goddard, 7 years ago

Apparently the pivot indicator is casting ambient shadows which have to be recomputed whenever one model (the pivot indicator) moves relative to another model. That is a huge hit since shadows are computed from 64 directions. I have code to make specified models not cast shadows so it will be an easy fix. I am on vacation today, and will look at it next week.

in reply to:  3 ; comment:3 by olibclarke@…, 7 years ago

Thanks Tom!! Also one more wrinkle as regards multitouch, before I forget - model rotation still needs a tweak to fix the following behavior:

* If I click on the main frame (where the model is), two finger drag works as expected, rotating the model.

* If I then click on another frame, e.g. the reply log, the next two finger drag operation zooms, rather than rotating.

* It seems like rotation with two-finger-drag only works properly if the main window is “active” somehow, and otherwise it defaults to the old behaviour (two finger drag = scroll wheel = zoom).

Have a great weekend!

Cheers
Oli


comment:4 by Tom Goddard, 7 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

Pivot indicator was casting shadows. Now it does not, so expensive ambient lighting calculation is not done every time it moves.

in reply to:  5 ; comment:5 by olibclarke@…, 7 years ago

Re the pivot indicator - would it be possible to make one that is just  simple “2D” crosshair like in Chimera? The 3D pivot indicator is fine, but the fact that it’s size changes with zoom level means that it is nearly invisible when one zooms out to see the whole map. And generally I think a 2D indicator of the center of rotation is fine, as its position in z becomes apparent on rotation of the view.

Cheers
Oli


comment:6 by Tom Goddard, 7 years ago

Best not to make new feature requests on closed tickets. Such comments can easily be lost and never looked at again. Make a new ticket by using ChimeraX menu Help / Report a Bug.

Note: See TracTickets for help on using tickets.