Call to Retina users (for Fredo6 plugins)
-
Please switch to this Thread to report or discuss any issues related to Fredo6 plugins and High-Res screens. I am trying to resolve the problem. Thanks.
Several Mac users using a Retina display have reported problem of readibility of the button palettes in my scripts.
In order for me to see if I can do something about it, I'd like to have the contribution of Retina users, as I don't have a Mac (and of course not a Retina display).
I understand the general problem, which comes from the fact that Retina displays have roughly twice the number of pixels for the same physical size of screen as other monitors. The palette buttons are drawn in pixel and thus appear roughly twice as small as on normal displays.
The other problem is related to the text, where the size could be 'normal' or also very small. Here are the two cases I noticed from some screenshots posted on the forum:
Case A: Small boxes and Small text
Case B: Small boxes and Normal text
To clarify the exact status and see if I can find a workaround, I would need some information from Retina users
-
Screen resolution (at Mac level)
-
Screen resolution of the Sketchup viewport.
In the Ruby console, report the result of typing the following commands:Sketchup.active_model.active_view.vpwidth
Sketchup.active_model.active_view.vpheight
-
Retina display mode: apparently there are settings in the Mac about the Retina display
- 'best of Retina'
- 'Scaled'
Do they have an impact on the display of the palette button. Are there specific Mac utility that would either correct the problem or change something.
-
Some screenshot of button palettes (fixed and floating) of my plugins (Ex: RoundCorner, Edge Inspector) and also of the custom tooltip I sometimes use (for instance in Curviloft)
-
Advise if the settings in the Model Info dialog box, section 'Text' have any influence on the size of text in the button palettes.
I can probably address the problem for the size of boxes (though probably not easy to keep full compatibility), but I need to understand what exactly happens regarding the text where I have no control from Ruby.
Thanks very much in advance
Fredo
-
-
- 1280x800 ("looks like 1280x800" according to Display settings Not sure where to see what it really IS. The display itself is listed as "15in 2880x1500")
2.Sketchup.active_model.active_view.vpwidth 2560
Sketchup.active_model.active_view.vpheight1348
3.Scaled.
Using the largest scaled setting ("looks like" 1024 x640) begins to make the palette better to read, but small buttons are still pretty small and text is mis-sized. Going for the smaller (high res) settings goes the other direction and all is very small. Personally the "best retina" setting is too small for my liking.
I don't know of utilities that would change this. The accessibility zoom just zooms what you see on the screen-- makes the same jumbled toolbar look like you put it under a magnifier.
4.
5.No.
Thanks for working on this!
Peter
- 1280x800 ("looks like 1280x800" according to Display settings Not sure where to see what it really IS. The display itself is listed as "15in 2880x1500")
-
Dear Fredo,
First of all, you´re pluggings are amazing...
Thanks for your work.
About retina´s problem:
-
Screen resolution (at Mac level) ( what´s Mac level ????)
I think for macbook pro 15" is : 2880 x 1800 -
Screen resolution of the Sketchup viewport.
In the Ruby console, report the result of typing the following commands:
- Sketchup.active_model.active_view.vpwidth : 2734
- Sketchup.active_model.active_view.vpheight : 1466
- Retina display mode: apparently there are settings in the Mac about the Retina display
- 'best of Retina'
If I change the display mode for the resolution nothings change.
I hope I´ve helped you and you can solve the problem.
.-oli
-
-
@oli-sketch,@pbacot,
Thanks for the input. Apparently, Best of Retina (Maxima) keeps the text small but in proportion with the screen resolution.
oli_skecth: could you try the option 'texto mas grande'. Maybe you need to reboot to have it in effect.
The reason is that I can at best scale the buttons, but I have no control on the text size from Ruby.
Thanks
Fredo
-
My results with Thru Paint do not show improvement with "Best Retina" Everything is too small and the text doesn't fit.
-
Dear Fredo,
Thanks for your quick answer.
This is the screenshot for the option 'texto mas grande' . (with reboot).
Let me know if you need more information or more changes to prove. It´s a pleasure to help you and mac users.
Thanks
Fredo
-
Fredo,
First answers to your specific questions, and then some discussion.
- My MacBook Pro Retina 15 has physical screen 2880(w) x 1800(h) pixels
- The viewport I am currently looking at in SketchUp reports 1912(w) x 1478(h).
- My current "resolution" setting is "Best for Retina", which scales the display to 1440(w) x 900(h) points. In this setting, a "point" is exactly 2x2 physical pixels. If I choose a different resolution and it is not an integer divisor of the physical screen pixel size, the graphics hardware scales the points onto the pixels, which causes the size of everything to change. In some settings the screen becomes a bit blurrier due to the interpolation needed to scale points onto pixels. "Best for Retina" is a compromise that is large enough for most people to accept, and is also an integer multiple of the physical screen pixels, so scaling can be done without blurring. When I change the display resolution setting, the view still reports the exact same width and height unless the new resolution causes the window to be larger than the display, in which case it will be clipped to fit. I didn't show a screenshot, but at full 2880x1800 resolution, your stuff is exactly the same size as on "Best for Retina". That is, everything else on the screen becomes just as tiny as your text, but the text stays the same.
- Screenshots attached for "Best for Retina", 1680x1050, and 1280x800 resolutions. These are full screen shots so that you can see the effect of resolution changes without being mislead by the screenshot clip window.
- No Preference or Model Info or other setting I have found has any effect on the text generated by view.draw_text.
From the reported view sizes and behavior of the text, I conclude that SketchUp view.draw_xxx methods operate directly at the OpenGL level, in physical pixels not display resolution points. Some resolution settings seem to affect the size of the text, maybe as a side-effect of their scaling in the graphics system, but telling people they have to use a resolution smaller than (say) 1024 x 800 is hardly sensible! I really doubt there is any practical way for you to work around this. Without knowing the exact technique SketchUp uses to draw the text, it isn't even clear that you could sneak around the edge and somehow tell OpenGL to use a different size. I think the SketchUp coding team has to take this one on!
Steve
-
Steve
Thanks for these enlightful explanations.
My idea was to scale the palette in my code, but I need to understand the problem with the text size. I wonder why oli_sketch gets a tiny text! whereas you and pbacot get a normal text size.
By the way, did you check in the OpenGL preference panel if there are any option available talking about points.
I am not sure the SU team is working on a solution in the short term.
Fredo
-
@fredo6 said:
Steve
Thanks for these enlightful explanations.
My idea was to scale the palette in my code, but I need to understand the problem with the text size. I wonder why oli_sketch gets a tiny text! whereas you and pbacot get a normal text size.
By the way, did you check in the OpenGL preference panel if there are any option available talking about points.
I am not sure the SU team is working on a solution in the short term.
Fredo
If there is an OpenGL preferences panel, I haven't been able to find it. Do you know there is one, or are you speculating? If you know how to open it please let me know and I will look at it. But, as discussed next, I don't think it would matter...
OpenGL in itself doesn't provide any support for text (consult any book on OpenGL programming to verify this). To show text on the screen, an app has to draw the characters using one of the low-level OpenGL functions. There are libraries such as FreeType that an app can employ to add a text-drawing layer atop OpenGL, but I don't know whether SketchUp uses one or if so which one. Given this state of affairs, only the SU code itself can control the size and font used.
Our test experience shows that the SU team did not write code that senses Retina and changes these parameters for view.draw_text nor did they expose a UI that lets a user specify them. So, until they do I think we are stuck. Considering that very few plugins/extensions use view.draw_text and that the problem is severe only on screens that pack a very high pixel count into a relatively small screen (i.e. MacBook Pro Retina vs a super-large monitor), I am not surprised that the SU team doesn't give this problem much priority.
As an extreme workaround I suppose you could create your own library of character images at double size and place your text using collections of these. Clearly that is an awful lot of work to handle a small portion of your user base!
Steve
-
@slbaumgartner said:
If there is an OpenGL preferences panel, I haven't been able to find it. Do you know there is one, or are you speculating? If you know how to open it please let me know and I will look at it. But, as discussed next, I don't think it would matter...
The OpenGL Panel is in Windows > Preferences
But it might be there is nothing specific to the problem of Retina.
I don't think the SU Team has yet looked at the problem. What I am trying to clarify is the size of the text because we have 2 examples where the text size is different, even for the same settings (Best for Retina).
Fredo
-
@fredo6 said:
What I am trying to clarify is the size of the text because we have 2 examples where the text size is different, even for the same settings (Best for Retina).
Fredo
I suspect that will be down to graphics cards.
from what I can ascertain, openGL_view on a mac, converts the 'text string' into an openGL image/texture...
theres a bunch of legacy methods apple provided if the graphics 'hardware' support was lacking for this conversion.
GL_APPLE_float_pixels is one example. [from c2003]
I suspect the new 'mac' hardware no longer supports the fallbacks, so if the graphics 'hardware' differs from vendor to vendor, you will see different results...
john
-
If it is due to different graphics cards, then it has to do with how different graphics cards treat retina, because the same dialogs on another "regular" monitor (same computer) look fine. So that would make it really convoluted, Apple providing different graphics card solutions for retina.
-
I get the following message when I try start ThruPaint
-
@fredo6 said:
I made a change to offer the possibility to scale up the button palettes (by a factor 2).
ONLY FOR RETINA USERS
Would you be be kind to-
Drop the attached file Lib6Palette.rb into the Fredo6_!LibFredo6 subfolder
[attachment=1:1g1qxvfs]<!-- ia1 -->Lib6Palette.rb<!-- ia1 -->[/attachment:1g1qxvfs] -
Go to Windows > LibFredo6 Settings... and set the Retina Screen parameter to true (it is at the bottom of the dialog)
-
Check with my plugins if the display has improved.
-
If possible, post some screenshots so that I can see visually what is going on.
@oli_sketch: I still don't understand why you get tiny text whereas other Retina users get normal text size
Thanks very much
Fredo
Here's a screenshot. As you can see, this affected the button graphics, but not the text. BTW, different models of MacBook Pro Retina have used different GPU chips. In theory at least, that could cause some low-level variations from Mac to Mac...
-
-
@pbacot said:
I get the following message when I try start ThruPaint
Could you upgrade to libfredo6 5.5g and FredoTools 1.6g
Fredo
-
@fredo6 said:
@pbacot said:
I get the following message when I try start ThruPaint
Could you upgrade to libfredo6 5.5g and FredoTools 1.6g
Fredo
I upgraded the above and that removed the error message. I then copied the Lib6Palette.rb at the location shown. Restarted SU. The Thrupaint toolbar does look not any different than before.
-
@pbacot said:
@fredo6 said:
@pbacot said:
I get the following message when I try start ThruPaint
Could you upgrade to libfredo6 5.5g and FredoTools 1.6g
Fredo
I upgraded the above and that removed the error message. I then copied the Lib6Palette.rb at the location shown. Restarted SU. The Thrupaint toolbar does look not any different than before.
Did you go to the default parameters and check the flag for Retina?
-
@slbaumgartner said:
Here's a screenshot. As you can see, this affected the button graphics, but not the text. BTW, different models of MacBook Pro Retina have used different GPU chips. In theory at least, that could cause some low-level variations from Mac to Mac...
I can't do anything for the text from the Ruby side. There is no API for that and apparently the setup of text size in Model Info [Text section] does not do anything for the text drawn from Ruby.
But since some Retina users get the text in 'normal' size, there may be a way for you to get it as well by playing with some settings. If this is a matter of graphical card or driver, then I am afraid we'll have to wait for the SU Team to address the problem.
Anyway, I guess this is already a progress to get the buttons bigger, even if the text remains tiny.
What I need now to do is to make the change for some other graphical elements like the Visual Progress bars, the custom tooltips and some other decoration.
Fredo
-
@fredo6 said:
@pbacot said:
@fredo6 said:
@pbacot said:
I get the following message when I try start ThruPaint
Could you upgrade to libfredo6 5.5g and FredoTools 1.6g
Fredo
I upgraded the above and that removed the error message. I then copied the Lib6Palette.rb at the location shown. Restarted SU. The Thrupaint toolbar does look not any different than before.
Did you go to the default parameters and check the flag for Retina?
Doh! Didn't do that!. But I can't find it now. Peter
-
Dear Fredo,
Can you help me?
.-oli
Advertisement