Text Object Maximum Texture Size too Small :(

From the Asset Store
Change delay, create new lines, "backspace" the text
  • Hello! I was looking on the internet for a solution but it looks like something Scirra is aware of. Currently the text object's maximum resolution size is 2000px. If you make a text object larger than that, the text object font will become very blurry.

    I understand this is intended to keep memory and preformance usage down for mobile but shouldn't there be a way to override this? I'm sure desktop PCs can handle much larger than 2000x resolution textures if there are only a few of them.

    It is massively inconvienant and difficult to try to make 4 rows of individual text objects align properly instead of just using 1.

    Tagged:

  • If you run in to a bug or issue in Construct 3, please post it to the GitHub issue tracker here:

    github.com/Scirra/Construct-3-bugs

    You must follow the bug report guidelines or your issue will be closed without investigation.

  • It has been reported twice as a bug. Ashley informed those users that it is actually intended to cut down on memory usage.

    github.com/Scirra/Construct-3-bugs/issues/3196

    I was lamenting that it has to be so. Maybe if we can one day get an option to make the maximum size larger to support text boxes on big resolutions like 4k.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • 4096 is the largest we could go and still support most hardware out there. The problem with that though is it creates an easy footgun to waste loads of memory. Zooming or scaling increases the resolution of the text object, and so starts rendering it at higher resolution sizes. A single 4096x4096 texture uses 64mb of memory. So conceivably you could have ten or so text objects, zoom in, and then suddenly you've used over half a gigabyte of memory. That can crash the game, result in bug reports, or just people going to social media to complain that Construct sucks, which is kind of understandable as it's not that obvious why it did that. A 2048x2048 texture uses 16mb of memory, which at least limits the damage.

    So to avoid accidental exploding memory usage, I'd rather not change it. I'd rather try to understand more about what you're trying to do and why you need such large/high-resolution text objects without being able to use something else like separate text objects.

  • I understand.

    To help you understand why i need(ed) such a feature i can share a screenshot of my game. In this game you play as a little man thats running around on the surface of a book. As you step on words, they have a chance to activate and cause things to happen in the environment. Sort of like a visual novel.

    In my case, i couldn't even use individual text boxes easily. I would need to divide my two existing columns into 3 columns of 2000px. That would make adjusting the text if i needed to add a sentence halfway through a paragraph or remove a few words, a total nightmare. This image you see would have to be composed of at least 12 individual text boxes that would need alignment. It's just not practical, especially if i have more than one level.

    I got around the text object limitation by writing all of the text in a 3d party program and importing it as a single image then using a Sprite Object.

  • I should also add that, the reason my texture sizes are so large is because the viewport resolution is 1080p with Trilinear scaling enabled.

    The graphics are unfortunately too jittery when using Nearest Neighbor (Point) Sampling at 480x270

  • I don't see why it would be so hard to use individual text objects for each paragraph. You can get the height of the text content with the TextHeight expression. So you just need to position the next text object at the previous text object's position, plus its text height, plus a margin.

  • Yes, i've used that approach to stack many text boxes to do Credits in a game before. But what solution is there if i want a line of text to be 2500px wide? Stacking vertically is easy, but stacking horizontally without wrapping?

    Like i said earlier, i went around the limitation by converting all of my text into a single png and using a sprite so its a moot point i suppose.

  • Out of curiosity, is it more performant theoretically to have 4 text objects that are 2048x2048 versus one that is 4096x4096?

  • Why do you need a single line of text 2500px wide? That seems a lot wider than many device displays, so doesn't seem necessary. I really want to understand exactly what you're trying to do and why you can't do something else, so if at all possible we can avoid the memory-wasting trap.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)