Call to Retina users (for Fredo6 plugins)
-
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
-
@oli_sketch said:
Dear Fredo,
Can you help me?
.-oli
Sorry, I should have said it. Please upgrade to LibFredo6 5.5g before and then copy the Lib6Palette.rb file.
Do not forget to turn on the flag about Retina Screen in the LibFredo6 Default Parameters.
Fredo
-
Hi Fredo,
I have installed the 5.6g lib but the same problem appears....
thanks.
-
Oli,
I realized that on Sketchup 8, there is a problem. So here is a corrected version. Sorry for that.
Lib6Palette.rbFredo
-
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
Lib6Palette.rb -
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
-
-
Hi Fredo,
I´ve installed your file and SU 2013 open it without problems.
I show you some screenshots.
Thanks.
-
Hi Again,
Sorry, I´ve selected Retina in default parameters but I haven´t saved the changes.
Much better.
Thanks
Advertisement