Retina compatibility

11 views
Skip to first unread message

Michael MacAskill

unread,
Jul 26, 2016, 12:38:51 AM7/26/16
to psycho...@googlegroups.com
Wow,

Just saw the results of Jon's recent efforts to implement better retina screen compatibility in the GUI:
<https://github.com/psychopy/psychopy/commit/07e64720d09cd61f43caee5fe567f8f57b3a798a>

To my eyes at least, the coder window is now looking like a whole new app. The toolbar buttons are certainly better but the text rendering in the code pane just looks incredibly improved. Text in the shell pane is (currently) still rendering at non-retina resolution, which helps to show how striking the change is.

Once completed for the Builder window, this is going to hugely change people's first impressions of quality when using the software on retina screens. Plus retina-quality LCDs are becoming more common (I use a Dell 3840 × 2160 external screen at my desk) and will increasingly be used for actual stimulus display, so hopefully this will be reflected there soon too.

Anyway, just needed to pass on a compliment to Jon for this. Sometimes aesthetics is worth shouting about!

Regards,

Michael


--
Michael R. MacAskill, PhD 66 Stewart St
Research Director, Christchurch 8011
New Zealand Brain Research Institute NEW ZEALAND

Senior Research Fellow, michael....@nzbri.org
Te Whare Wānanga o Otāgo, Otautahi Ph: +64 3 3786 072
University of Otago, Christchurch http://www.nzbri.org/macaskill

Jon Peirce

unread,
Jul 26, 2016, 5:37:42 AM7/26/16
to psycho...@googlegroups.com

Glad you liked that. :-) The text for the Coder view turned out to be trivial to fix (simply turn off buffered rendering) and the icons for the toolbar just needed higher-resolution icons to be provided. Unfortunately the Flow, Routine and Component panels aren't such easy fixes. Info below on why if someone with a retina display wants to hack on it.

I must say I'm absolutely loving having a retina display! Makes me love the mac again after a period of being pro-Linux

best wishes
Jon


For the Flow and Component panels the problem is that we use a buffered drawing context (wx.PseudoDC) to create the views so everything is drawn initially to a memory buffer and then shown in the window, rather than being drawn directly to the window. The reason for that is:

  • smooth scrolling. We could live without that I think
  • it allows us to use the wx object ID system to track the objects we've drawn. That's how we determine whether the icons/labels etc have been clicked in these views and would need

For the Components panel I also tried using higher-resolution icons and it makes no difference. (Or the image scales to be huge in the button, rather than staying the same w,h and using higher resolution). I suspect this means it is also using a buffered rendering step under the hood, and I dont know how to turn that off.



On 26/07/2016 05:38, Michael MacAskill wrote:
Wow,

Just saw the results of Jon's recent efforts to implement better retina screen compatibility in the GUI:
<https://github.com/psychopy/psychopy/commit/07e64720d09cd61f43caee5fe567f8f57b3a798a>

To my eyes at least, the coder window is now looking like a whole new app. The toolbar buttons are certainly better but the text rendering in the code pane just looks incredibly improved. Text in the shell pane is (currently) still rendering at non-retina resolution, which helps to show how striking the change is.

Once completed for the Builder window, this is going to hugely change people's first impressions of quality when using the software on retina screens. Plus retina-quality LCDs are becoming more common (I use a Dell 3840 × 2160 external screen at my desk) and will increasingly be used for actual stimulus display, so hopefully this will be reflected there soon too. 

Anyway, just needed to pass on a compliment to Jon for this. Sometimes aesthetics is worth shouting about!

Regards,

Michael



Reply all
Reply to author
Forward
0 new messages