Opened 5 years ago

Last modified 5 years ago

#4272 assigned defect

Graphics window not full size

Reported by: joshua.denson@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Window Toolkit Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.19041
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
Scaling of the model window doesn't seem to be working right when using a dual monitor setup. I have attempted to make it work with two different monitors, the second monitor always displays a smaller model window as shown in the attached JPEG. 

Log:
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 4qu4 format mmcif fromDatabase pdb

Summary of feedback from opening 4qu4 fetched from pdb  
---  
warning | Atom OE1 has no neighbors to form bonds with according to residue
template for GLN /A:865  
  
4qu4 title:  
Improved refinement of the Mtr4 apo crystal structure [more info...]  
  
Chain information for 4qu4 #1  
---  
Chain | Description  
A | ATP-dependent RNA helicase DOB1  
  
Non-standard residues in 4qu4 #1  
---  
PO4 — phosphate ion  
  

> help help:quickstart

> view

> set bgColor #ffffff00

> close #1

> open 6d6r format mmcif fromDatabase pdb

6d6r title:  
Human nuclear exosome-MTR4 RNA complex - composite map after focused
reconstruction [more info...]  
  
Chain information for 6d6r #1  
---  
Chain | Description  
A | Exosome complex component RRP45  
B | Exosome complex component RRP41  
C | Exosome complex component RRP43  
D | Exosome complex component RRP46  
E | Exosome complex component RRP42  
F | Exosome complex component MTR3  
G | Exosome complex component RRP40  
H | Exosome complex component RRP4  
I | Exosome complex component CSL4  
J | Exosome component 10  
K | Exosome complex exonuclease RRP44  
L | M-phase phosphoprotein 6  
M | Exosome RNA helicase MTR4  
N | RNA (5'-R(*ap*GP*CP*ap*CP*CP*GP*up*ap*ap*ap*GP*ap*CP*GP*C)-3')  
O | DNA/RNA (62-mer)  
  
Non-standard residues in 6d6r #1  
---  
ANP — phosphoaminophosphonic acid-adenylate ester  
MG — magnesium ion  
ZN — zinc ion  
  




OpenGL version: 3.3.0 NVIDIA 461.40
OpenGL renderer: GeForce GTX 1060/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Microsoft Corporation
Model: Surface Book 2
OS: Microsoft Windows 10 Pro (Build 19042)
Memory: 17,097,428,992
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz"
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.8.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.6.20
    chardet: 3.0.4
    ChimeraX-AddH: 2.1.3
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.6.1
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.0.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.0
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.0
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.1
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-DataFormats: 1.0
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.0
    ChimeraX-Hbonds: 2.0
    ChimeraX-Help: 1.0
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-Label: 1.0
    ChimeraX-ListInfo: 1.0
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Map: 1.0.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.0
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.1
    ChimeraX-MDcrds: 2.0
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.0
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.0
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.2.1
    ChimeraX-PDB: 2.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0
    ChimeraX-PubChem: 2.0
    ChimeraX-Read-Pbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.0
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.0
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.0
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.0.4
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.0
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.0
    ChimeraX-ToolshedUtils: 1.0
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.2.3
    ChimeraX-uniprot: 2.0
    ChimeraX-ViewDockX: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.3
    comtypes: 1.1.7
    cxservices: 1.0
    cycler: 0.10.0
    Cython: 0.29.20
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    gdcm: 2.8.8
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.16
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.0
    ipython: 7.15.0
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.3
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.1
    MarkupSafe: 1.1.1
    matplotlib: 3.2.1
    msgpack: 1.0.0
    netifaces: 0.10.9
    networkx: 2.4
    numexpr: 2.7.1
    numpy: 1.18.5+mkl
    numpydoc: 1.0.0
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    pickleshare: 0.7.5
    Pillow: 7.1.2
    pip: 20.2.2
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.6.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.12.3
    PyQt5-sip: 4.19.19
    PyQtWebEngine-commercial: 5.12.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pywin32: 228
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.4.1
    setuptools: 49.4.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.1.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.6.3
    tinyarray: 1.2.2
    tornado: 6.0.4
    traitlets: 5.0.4
    urllib3: 1.25.10
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2
    WMI: 1.5.1
File attachment: Chimera X bug.JPG

Chimera X bug.JPG

Attachments (1)

Chimera X bug.JPG (162.1 KB ) - added by joshua.denson@… 5 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (5)

by joshua.denson@…, 5 years ago

Attachment: Chimera X bug.JPG added

Added by email2trac

comment:1 by Eric Pettersen, 5 years ago

Component: UnassignedWindow Toolkit
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionGraphics window not full size

comment:2 by Tom Goddard, 5 years ago

It looks like the graphics panel is only drawing in the lower left quadrant. I have seen this long ago. It probably is related to your second display being high resolution (4K) while your primary display is not high resolution. Specifically the Windows display scaling on the second display might be 200% while on the first display it is 100%. Then when you move ChimeraX between displays it fails to resize the graphics -- it needs to render twice as many pixels on the second display. That all is a nice theory but just tried that configuration yesterday with ChimeraX 1.1 and it worked correctly. So I am not sure why it is not working in your case. It is possible the Qt window toolkit ChimeraX uses is not reporting the display scale correctly on your system but I don't know what would cause that.

Can you tell me the resolution of your two displays and what Windows display scaling is being used (right click on desktop background, menu Display Settings...)?

Does the graphics use the full panel after you manually resize the ChimeraX window?

Are you using ChimeraX full screen?

Do you move ChimeraX from one screen to the other when this happens? Or does it just start on the second screen and not work correctly?

in reply to:  4 comment:3 by joshua.denson@…, 5 years ago

Hi Tom, 

The resolution of my two displays are: 
Primary: 3240 X 2160 (200% Scale)
Secondary: 1920 X 1080 (100% Scale)

When I change the scaling on both displays to 100% it fixes the issue, but when I have any kind of mismatch the issue appears. 

Manually resizing the window on the second display does not change anything. 
I am normally using ChimeraX full screen. 

The program opens up on my primary display and looks fine but when I drag it over to the low resolution secondary display it only uses 1/4 of the graphics display panel. If I open the program on the secondary display it still only uses 1/4 of the graphics panel. 

Thanks for your help!
Josh

-----Original Message-----
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> 
Sent: Friday, February 19, 2021 11:04 AM
Cc: goddard@cgl.ucsf.edu; Josh Denson <joshua.denson@usu.edu>
Subject: [EXT] Re: [ChimeraX] #4272: Graphics window not full size

#4272: Graphics window not full size
--------------------------------------+-------------------------
          Reporter:  joshua.denson@…  |      Owner:  Tom Goddard
              Type:  defect           |     Status:  assigned
          Priority:  normal           |  Milestone:
         Component:  Window Toolkit   |    Version:
        Resolution:                   |   Keywords:
        Blocked By:                   |   Blocking:
Notify when closed:                   |   Platform:  all
           Project:  ChimeraX         |
--------------------------------------+-------------------------

Comment (by Tom Goddard):

 It looks like the graphics panel is only drawing in the lower left  quadrant.  I have seen this long ago.  It probably is related to your  second display being high resolution (4K) while your primary display is  not high resolution.  Specifically the Windows display scaling on the  second display might be 200% while on the first display it is 100%.  Then  when you move ChimeraX between displays it fails to resize the graphics --  it needs to render twice as many pixels on the second display.  That all  is a nice theory but just tried that configuration yesterday with ChimeraX
 1.1 and it worked correctly.  So I am not sure why it is not working in  your case.  It is possible the Qt window toolkit ChimeraX uses is not  reporting the display scale correctly on your system but I don't know what  would cause that.

 Can you tell me the resolution of your two displays and what Windows  display scaling is being used (right click on desktop background, menu  Display Settings...)?

 Does the graphics use the full panel after you manually resize the  ChimeraX window?

 Are you using ChimeraX full screen?

 Do you move ChimeraX from one screen to the other when this happens?  Or  does it just start on the second screen and not work correctly?

--
Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4272#comment:2>
ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker
CAUTION: This email originated from outside of USU. If this appears to be a USU employee, beware of impersonators. Do not click links, reply, download images, or open attachments unless you verify the sender’s identity and know the content is safe.

comment:4 by Tom Goddard, 5 years ago

So your configuration is 4K primary display and 2K secondary display. I don't have a Windows laptop with 4K display to test that. It is pretty clear the problem is that ChimeraX thinks the graphics pane size is two times smaller than it really is on the 2K display. That is very strange -- I could imagine it thinks it s two times bigger because it somehow gets the 4K screen setting, but 2 times smaller makes no sense.

If you save an image when the graphics is half size is the saved image full size or half size? You can use the Snapshot icon on the toolbar and it will make an image1.png file on the Desktop.

What size does the ChimeraX "windowsize" command report?

Can you try the following Python to report the display scale in ChimeraX -- use menu Tools / General / Shell and type in

session.main_view.render.pixel_scale()

It should report 1.0 for the secondary screen and 2.0 for the primary. And maybe also see what size graphics pane rendering it is doing

session.main_view.render.render_size()

Note: See TracTickets for help on using tickets.