Frame node: Increase font size range for label #95105

Closed
opened 2022-01-21 10:20:07 +01:00 by Kent Davis · 32 comments

System Information
Operating system: macOS-12.2-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 575 OpenGL Engine ATI Technologies Inc. 4.1 ATI-4.7.103

Blender Version
Broken: version: 3.1.0 Alpha, branch: master, commit date: 2022-01-15 05:40, hash: e69020ad0f
Worked: (newest version of Blender that worked as expected)

Short description of error
Font size for Label is limited (up to 64pt)

Exact steps for others to reproduce the error

  • Open .blend file
  • Change size of the label from sidebar. (Has fixed range of 8-64)

Please remove limit number pt. change to 1000pt and more unlimit numbers. Thanks
I can't read on label text. I have low vision I really can't read on label with FRAME NODEs
image.png

Test File:
#95105.blend

**System Information** Operating system: macOS-12.2-x86_64-i386-64bit 64 Bits Graphics card: AMD Radeon Pro 575 OpenGL Engine ATI Technologies Inc. 4.1 ATI-4.7.103 **Blender Version** Broken: version: 3.1.0 Alpha, branch: master, commit date: 2022-01-15 05:40, hash: `e69020ad0f` Worked: (newest version of Blender that worked as expected) **Short description of error** Font size for Label is limited (up to 64pt) **Exact steps for others to reproduce the error** - Open .blend file - Change size of the label from sidebar. (Has fixed range of 8-64) Please remove limit number pt. change to 1000pt and more unlimit numbers. Thanks I can't read on label text. I have low vision I really can't read on label with FRAME NODEs ![image.png](https://archive.blender.org/developer/F12814126/image.png) Test File: [#95105.blend](https://archive.blender.org/developer/F12831083/T95105.blend)
Author

Added subscriber: @Kent-Davis

Added subscriber: @Kent-Davis
Author

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Author

@PratikPB2123
Check there.

@PratikPB2123 Check there.
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Thanks for the report. I can confirm. Those limits were included from the very first revision: 53b01d9002
Did not see any specific reason why range is between 8-64.
May be this can be improved. So I am confirming.


Something like this will work but I am not sure.

--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -4950,7 +4950,7 @@ static void def_frame(StructRNA *srna)


 prop = RNA_def_property(srna, "label_size", PROP_INT, PROP_NONE);
 RNA_def_property_int_sdna(prop, NULL, "label_size");

- RNA_def_property_range(prop, 8, 64);
+  RNA_def_property_ui_range(prop, 8, 1000, 1, 3);

 RNA_def_property_ui_text(prop, "Label Font Size", "Font size to use for displaying the label");
 RNA_def_property_update(prop, NC_NODE | ND_DISPLAY, NULL);

 }
Thanks for the report. I can confirm. Those limits were included from the very first revision: 53b01d9002 Did not see any specific reason why range is between 8-64. May be this can be improved. So I am confirming. --- Something like this will work but I am not sure. ``` --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -4950,7 +4950,7 @@ static void def_frame(StructRNA *srna) prop = RNA_def_property(srna, "label_size", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "label_size"); - RNA_def_property_range(prop, 8, 64); + RNA_def_property_ui_range(prop, 8, 1000, 1, 3); RNA_def_property_ui_text(prop, "Label Font Size", "Font size to use for displaying the label"); RNA_def_property_update(prop, NC_NODE | ND_DISPLAY, NULL); } ```
Member

Added subscriber: @lone_noel

Added subscriber: @lone_noel
Member

@PratikPB2123 I tested your diff and it works except that the text (screen space) size for the frame label is still clamped in the drawing function.
In node_draw.cc inside of frame_node_draw_label it says:

  /* clamp otherwise it can suck up a LOT of memory */
  BLF_size(fontid, MIN2(24.0f, font_size), U.dpi);

And as a matter of fact, after removing the clamping and changing the font size rapidly with the slider makes Blender quickly take up over 6 GB of memory... (I guess something to do with caching the different font sizes?)

Anyway, we could simply clamp the screen space size at a higher value (e.g. 48) to make it is easier to read for people with low vision, while keeping the range constrained enough to not make memory too much of an issue?
Another option I tried ( P2753 ) is making the label size an enum to reduce the number of sizes we have. I don't think this option really needs the granular control of the slider, anyway. Something around ten values feels like it would be enough:
enum-label-size-test.png

Though I assume fixing the memory issue all together would be preferred.

@PratikPB2123 I tested your diff and it works except that the text (screen space) size for the frame label is still clamped in the drawing function. In `node_draw.cc` inside of `frame_node_draw_label` it says: ``` /* clamp otherwise it can suck up a LOT of memory */ BLF_size(fontid, MIN2(24.0f, font_size), U.dpi); ``` And as a matter of fact, after removing the clamping and changing the font size rapidly with the slider makes Blender quickly take up over 6 GB of memory... (I guess something to do with caching the different font sizes?) Anyway, we could simply clamp the screen space size at a higher value (e.g. 48) to make it is easier to read for people with low vision, while keeping the range constrained enough to not make memory too much of an issue? Another option I tried ( [P2753](https://archive.blender.org/developer/P2753.txt) ) is making the label size an enum to reduce the number of sizes we have. I don't think this option really needs the granular control of the slider, anyway. Something around ten values feels like it would be enough: ![enum-label-size-test.png](https://archive.blender.org/developer/F12815233/enum-label-size-test.png) Though I assume fixing the memory issue all together would be preferred.
Author

Please do not use Windows. Only focus for Macintosh.
I show you my screenshot on Blender 3.1.0 Alpha.
image.png

Please do not use Windows. Only focus for Macintosh. I show you my screenshot on Blender 3.1.0 Alpha. ![image.png](https://archive.blender.org/developer/F12815262/image.png)
Author

Macintosh is RETINA DISPLAY 5K 27".
@lone_noel

Macintosh is RETINA DISPLAY 5K 27". @lone_noel
Member

@Kent-Davis I understand your problem.

My screenshot is not about what Blender does right now, but to show a possible fix for the issue. :)

@Kent-Davis I understand your problem. My screenshot is not about what Blender does right now, but to show a possible fix for the issue. :)
Author

@lone_noel Ok thanks

@lone_noel Ok thanks
Author

I am still wait for you to repair code font size.

I am still wait for you to repair code font size.
Pratik Borhade changed title from Frame nodes too small text label up to 64pt to Frame node: Increase font size range for label 2022-01-28 15:00:33 +01:00
Member

Hi @lone_noel , thanks for testing that diff. I was quite sure that the solution is incorrect.
Can you submit the patch to fix this?

Hi @lone_noel , thanks for testing that diff. I was quite sure that the solution is incorrect. Can you submit the patch to fix this?
Member

@PratikPB2123 Sure! Will do it over the course of the weekend.

@PratikPB2123 Sure! Will do it over the course of the weekend.
Member

Added subscriber: @Harley

Added subscriber: @Harley
Member

Sorry for the dumb question, but I'd love to recreate this issue myself. In Kent's capture...

{F12838648,width=100%}

It is showing a label size of "64" but the arrow is pointing at something miniscule. I would love to have exact instructions on how to recreate that myself.

I open the supplied blend file and I see this:

{F12838652,width=100%}

When I then change the local zoom of this area I see that the text size of the panel title is not changing with the rest of the text. Why is this just not a fixed size like the other text? If we need more control shouldn't it be a multiplier instead? If a size, should it still not be multiplied by the local zoom?

At maximum zoom the label is only slightly smaller than the maximum size of the node text, but close, at 64. But it is still huge. So not seeing a time when it could be much larger.

Again, I'd just like to see exactly what is illustrated in Kent's original capture so I can perhaps lend a hand.

Sorry for the dumb question, but I'd love to recreate this issue myself. In Kent's capture... {[F12838648](https://archive.blender.org/developer/F12838648/image.png),width=100%} It is showing a label size of "64" but the arrow is pointing at something miniscule. I would love to have exact instructions on how to recreate that myself. I open the supplied blend file and I see this: {[F12838652](https://archive.blender.org/developer/F12838652/image.png),width=100%} When I then change the local zoom of this area I see that the text size of the panel title is not changing with the rest of the text. Why is this just not a fixed size like the other text? If we need more control shouldn't it be a multiplier instead? If a size, should it still not be multiplied by the local zoom? At maximum zoom the label is only slightly smaller than the maximum size of the node text, but close, at 64. But it is still huge. So not seeing a time when it could be much larger. Again, I'd just like to see exactly what is illustrated in Kent's original capture so I can perhaps lend a hand.
Member

@Harley Thanks for taking a look! :)

In #95105#1298974, @Harley wrote:
It is showing a label size of "64" but the arrow is pointing at something miniscule. I would love to have exact instructions on how to recreate that myself.

Since Kent is using Mac OS I assume he has a device with a very high dpi screen. When calculating the text size in frame_node_draw_label and clamping it, we don't respect the dpi.
As a result the labels are smaller relative to the rest of the interface when viewed on my retina screen vs. my external 1080p monitor:

1080p retina
frame-labels_1080p.png frame_labels_retina.png

In #95105#1298974, @Harley wrote:
When I then change the local zoom of this area I see that the text size of the panel title is not changing with the rest of the text. Why is this just not a fixed size like the other text? If we need more control shouldn't it be a multiplier instead? If a size, should it still not be multiplied by the local zoom?

The text size is multiplied by the local zoom, but then it is clamped to an absolute size referring to the issue of the increased cache. See frame_node_draw_label:

  const float font_size = data->label_size / aspect;                                <---- Multiplying by the zoom

  [...]
  
  /* clamp otherwise it can suck up a LOT of memory */
  BLF_size(fontid, MIN2(24.0f, font_size), U.dpi);                                  <---- Clamping

I hope that clarifies, what is happening.


D13954 fixes the differences between different dpi screens and removes both the size limit in the RNA property and the text size clamping when drawing.
Changing the property to an enum was was originally motivated as a workaround to avoid having to cache too many text sizes. But I see by you comment there that that can be solved properly, which I'll try to do!

@Harley Thanks for taking a look! :) > In #95105#1298974, @Harley wrote: > It is showing a label size of "64" but the arrow is pointing at something miniscule. I would love to have exact instructions on how to recreate that myself. Since Kent is using Mac OS I assume he has a device with a very high dpi screen. When calculating the text size in `frame_node_draw_label` and clamping it, we don't respect the dpi. As a result the labels are smaller relative to the rest of the interface when viewed on my retina screen vs. my external 1080p monitor: |1080p|retina| |---|---| | ![frame-labels_1080p.png](https://archive.blender.org/developer/F12838830/frame-labels_1080p.png) | ![frame_labels_retina.png](https://archive.blender.org/developer/F12838828/frame_labels_retina.png) | > In #95105#1298974, @Harley wrote: > When I then change the local zoom of this area I see that the text size of the panel title is not changing with the rest of the text. Why is this just not a fixed size like the other text? If we need more control shouldn't it be a multiplier instead? If a size, should it still not be multiplied by the local zoom? The text size is multiplied by the local zoom, but then it is clamped to an absolute size referring to the issue of the increased cache. See `frame_node_draw_label`: ``` const float font_size = data->label_size / aspect; <---- Multiplying by the zoom [...] /* clamp otherwise it can suck up a LOT of memory */ BLF_size(fontid, MIN2(24.0f, font_size), U.dpi); <---- Clamping ``` I hope that clarifies, what is happening. --- [D13954](https://archive.blender.org/developer/D13954) fixes the differences between different dpi screens and removes both the size limit in the RNA property and the text size clamping when drawing. Changing the property to an enum was was originally motivated as a workaround to avoid having to cache too many text sizes. But I see by you comment there that that can be solved properly, which I'll try to do!
Leon Schittek self-assigned this 2022-02-01 11:56:06 +01:00
Author

Me Retina Display 5K 27"
There size display
6400 px x 3600 px

Me Retina Display 5K 27" There size display 6400 px x 3600 px
Author

@lone_noel and @Harley
See my youtube:
https://youtu.be/cQulhQ_FN8s
Only for Mac. Do not use Windows please.

@lone_noel and @Harley See my youtube: https://youtu.be/cQulhQ_FN8s Only for Mac. Do not use Windows please.
Author

Come on. I am still wait for you on Blender 3.2.0 Alpha fix font size.

Come on. I am still wait for you on Blender 3.2.0 Alpha fix font size.
Author

I am still wait for you to fix bug please.

I am still wait for you to fix bug please.

Added subscriber: @dfelinto

Added subscriber: @dfelinto

Kent if you can't contribute to the module with a patch or helping the other standing tasks, please be patient. Marking this as known issue since it is not clear if it will be tackled by any developer in the upcoming six months.

Kent if you can't contribute to the module with a patch or helping the other standing tasks, please be patient. Marking this as known issue since it is not clear if it will be tackled by any developer in the upcoming six months.
Author

@dfelinto Yes only for Mac. Do not use Windows. I already show screenshot you can tell.
I am not good english to explain text only. I am full deaf and low vision.

I believe you surely understand screenshot on below. "Label Size"
image.png

@dfelinto Yes only for Mac. Do not use Windows. I already show screenshot you can tell. I am not good english to explain text only. I am full deaf and low vision. I believe you surely understand screenshot on below. "Label Size" ![image.png](https://archive.blender.org/developer/F13061065/image.png)
Author

I am still wait for you too long to fix resolve nodes group.

I am still wait for you too long to fix resolve nodes group.

Hi @Kent-Davis I believe you will have to wait a bit longer. In case the patch that addresses this doesn't get reviewed earlier and you want to revive the attention on this task, I recommend waiting a few months (2-3) to do so between every attempt.

Hi @Kent-Davis I believe you will have to wait a bit longer. In case the patch that addresses this doesn't get reviewed earlier and you want to revive the attention on this task, I recommend waiting a few months (2-3) to do so between every attempt.
Author

@dfelinto
Thanks and I can't find previous history when I send report a ticket (OPEN) I don't know where. Long time years and years ago.
I am not good english text only. I am full deaf and I do know ASL.

@dfelinto Thanks and I can't find previous history when I send report a ticket (OPEN) I don't know where. Long time years and years ago. I am not good english text only. I am full deaf and I do know ASL.
Author

See my youtube to show you about join frame font size. Look seem a little better but still not.
Only for Mac.
https://youtu.be/84acX5MN-qQ

See my youtube to show you about join frame font size. Look seem a little better but still not. Only for Mac. https://youtu.be/84acX5MN-qQ
Author

@dfelinto There pass 9 months.

@dfelinto There pass 9 months.
Philipp Oeser removed the
Interest
Nodes & Physics
label 2023-02-10 08:44:17 +01:00
Blender Bot added
Status
Resolved
and removed
Status
Confirmed
labels 2023-03-10 18:24:35 +01:00
Author

@lone_noel
No there is not resolve. They need to fix some more to exactly zoom in and out.
https://youtu.be/kBS7IkfbNp4
I got download
System Information
Operating system: macOS-13.3-x86_64-i386-64bit 64 Bits
Graphics card: Metal API AMD Radeon Pro 575 1.2

Blender Version
Broken: version: 3.5.0 Beta, branch: blender-v3.5-release, commit date: 2023-03-10 19:54, hash: 3baccee0afaf
Worked: (newest version of Blender that worked as expected)

Display more space with 5000K Retina Display.
image

@lone_noel No there is not resolve. They need to fix some more to exactly zoom in and out. https://youtu.be/kBS7IkfbNp4 I got download **System Information** Operating system: macOS-13.3-x86_64-i386-64bit 64 Bits Graphics card: Metal API AMD Radeon Pro 575 1.2 **Blender Version** Broken: version: 3.5.0 Beta, branch: blender-v3.5-release, commit date: 2023-03-10 19:54, hash: `3baccee0afaf` Worked: (newest version of Blender that worked as expected) Display more space with 5000K Retina Display. ![image](/attachments/006a25eb-e682-430e-8a7a-ab4496a8e704)
247 KiB
Member

Hi @Kent-Davis,

yes, the fix is not part of version 3.5.
This is a very visible change in the UI and we're already pretty late in the 3.5 release cycle (bcon 3), so I felt more comfortable with this fix going into 3.6.

You can try the fix with the 3.6.0 - Alpha build from here: https://builder.blender.org/download/daily/

Hi @Kent-Davis, yes, the fix is not part of version 3.5. This is a very visible change in the UI and we're already pretty late in the 3.5 release cycle (bcon 3), so I felt more comfortable with this fix going into 3.6. You can try the fix with the **3.6.0 - Alpha** build from here: https://builder.blender.org/download/daily/
Author

@lone_noel
Thank you for let me know about 3.6.0 is resolve.
Now next my other report a ticket:

#86974

image

@lone_noel Thank you for let me know about 3.6.0 is resolve. Now next my other report a ticket: https://projects.blender.org/blender/blender/issues/86974 ![image](/attachments/f3a26647-0cea-4d61-80b4-02c06c49e177)
1.9 MiB
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#95105
No description provided.