View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003253 | NoesisGUI | C++ SDK | public | 2024-04-22 03:29 | 2024-04-23 09:54 |
Reporter | nvonhertzen | Assigned To | jsantos | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | assigned | Resolution | open | ||
Product Version | 3.2 | ||||
Target Version | 3.2.4 | ||||
Summary | 0003253: TextBlock is limited to a text length of 65536 glyphs | ||||
Description | TextBlock component crashes when a text that exceeds 65536 (16 bit) glyphs are set. With a debug build, it will hit the assert in VGLContext.cpp#3966 (NS_ASSERT(firstRenderGlyph <= 0xffff);) and without the assert it will crash when attempting to render a glyph past that point. We'd like to understand why that limitation is in place, i.e. are we introducing some other issues if we update the GeoBuilderParams to store it as 32 bit? Is there some other way we can support texts that exceed this limitation? We don't directly control the content of the text, so manually splitting it isn't an option. | ||||
Steps To Reproduce | Create a TextBlock and assign text to it that exceeds 65536 glyphs. | ||||
Tags | No tags attached. | ||||
Platform | Any | ||||
This is a bug/limitation of our current implementation. We used uint16_t to improve cache coherency. Promoting GeoBuilderParams::text::first from uint16_t to uint32_t is a good solution. Do that for now, I will work on this soon to analyze if there are other alternatives. By the way, if you are getting the warning "Not enough space in glyph texture to render this frame" please make sure to increase the default dimensions for the glyph atlas using SetGlyphCacheWidth/SetGlyphCacheHeight in your RenderDevice (before initializing the view with it). Default is 1024 x 1024. |
|
Thanks, we'll go ahead and update it to uint32_t for now | |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-04-22 03:29 | nvonhertzen | New Issue | |
2024-04-22 15:11 | jsantos | Assigned To | => jsantos |
2024-04-22 15:11 | jsantos | Status | new => assigned |
2024-04-22 15:11 | jsantos | Target Version | => 3.2.4 |
2024-04-22 15:21 | jsantos | Note Added: 0009396 | |
2024-04-22 15:21 | jsantos | Status | assigned => feedback |
2024-04-23 09:54 | nvonhertzen | Note Added: 0009401 | |
2024-04-23 09:54 | nvonhertzen | Status | feedback => assigned |