5 ms·
Missing the basics of high-quality, high-precision, and high-fidelity rendering. We've learned how to do these things since 1993.
by chrisseaton 5y ago
Missing the basics of high-quality, high-precision, and high-fidelity rendering. We've learned how to do these things since 1993.
- badsectoracula 5y ago> high-quality What does that mean? Quality in what sense? > high-precision The UI is just rectangles and lines. Even "modern" UIs like Windows 10 is made up of just flat rectangles and lines. The precision to draw flat rectangles and lines hasn't changed over the decades. > and high-fidelity rendering The fidelity being high or low depends on the source material, GUIs are drawing themselves from scratch and at most copy existing resources (images, etc). Unless you use "high fidelity" as another way to write "good looking", which i hope you understand that is highly subjective.
- chrisseaton 5y agoLook at the text. Can you see how blocky it is? And how awkward the gaps are between letters? That doesn't represent the definition of the fonts that are being used. It's a low-quality rendering in that it's literally a binary quantisation of the curves in the font. It's low-precision in that the output only considers pixel boundaries. It's low-fidelity in that it doesn't represent the creator's intent for the font. None of that is subjective. In fact my point is that the rendering is subjective rather than objective (high-quality, high-precision, high-fidelity). It's not just the text. Look at the dithering: low-precision rendering of colours. Look at the alpha-blending of the Firefox icon: low-fidelity of the icon file as it's been blended as an integer. Etc etc etc. Given the mathematical input of the curves of the fonts, the colour gradients, the icon definitions, this is objectively a poor rendering as it doesn't match the declared intention.
- badsectoracula 5y ago> Look at the text. Many people (me included) prefer non-antialiased text as it looks sharper. What you describe is an issue with the font used (unless it is a bitmap font, in which case the look you'd get would be the creator's intent). You can get that with fonts that do not have proper hinting, but that can be fixed (assuming you dislike the result) by using another font. Regardless this isn't an issue with the entirety of CDE or the rendering it uses, but with the specific font used. > None of that is subjective. The very specific issue you mentioned isn't subjective indeed, again assuming that the font in question was not a bitmap font designed to look as it looks. And of course it is only about the font, nothing else. > In fact my point is that the rendering is subjective rather than objective (high-quality, high-prevision, high-fidelity). TBH "high-quality, high-prevision, high-fidelity" sounds like some motto without substance. My comment was about trying to be more specific about what your issues were. > Look at the dithering: low-precision rendering of colours. The dithering is intentional, not due to an inability to display additional colors. While back in the 80s and 90s dithering was used to work around lack of color, nowadays it is almost always used as a stylistic choice. For example personally i often make my own icons for Window Maker (my WM of choice) and i pretty much always lower the colors to introduce some ordered dithering that creates that common cross-hatching pattern (often i do not even care about the amount of colors, just whatever looks adds a bit of that pattern without losing much color info) that i personally find aesthetically pleasing. > Look at the alpha-blending of the Firefox icon: low-fidelity of the icon file as it's been blended as an integer Yes that is also an objective issue. Not sure how hard it'd be to fix CDE use alpha blending, though the functionality is already provided by the X server as many window managers use it.
- chrisseaton 5y ago> TBH "high-quality, high-prevision, high-fidelity" sounds like some motto without substance. I spent time explaining what I meant by each of these, relating them to the mathematical definition of the input and how the output matched that. If you wanted to, you could probably write a function to quantise how the output for different renderers diverged from the declared input. CDE would not do well compared to modern systems like macOS. > Many people (me included) prefer non-antialiased text Do you think CDE is making an intentional stylistic choice to render text in this way? Or do you think it doesn't have the functionality to render it with more fidelity to the font definition? I think it's the latter. Which is why it isn't a modern system.
- badsectoracula 5y ago> I spent time explaining what I meant by each of these, relating them to the mathematical definition of the input and how the output matched that. You only mentioned fonts and what you mentioned was only true about vector fonts without any hinting information (which is what allows fonts to be displayed as the designer intended on fixed grid output like a pixel grid). It is not true for vector fonts with hinting information nor about bitmap fonts. And what your issue really was was about the binary-only representation, which basically means that what you wanted is subpixel accuracy - ie. introducing antialiasing. This is something that is actually subjective as many people (me included, as i already wrote) prefer the binary approach. And indeed while you are right about the very specific case of how vector fonts are displayed without enough precision, even when a font renderer does allow for subpixel precision many people prefer to alter the output from what the designer would do for -in their opinion- better results: this is one of the oldest differences between people preferring Mac OS X's font rendering (no alterations) over Windows rendering (alterations to make fonts look sharper). Many font rendering setups you'll find on Linux provide control over this too and while you can objectively say which setup would be more "correct", what exactly looks better is down to the user. Anyway, this was all about a specific case of font rendering and nothing else. > If you wanted to, you could probably write a function to quantise how the output for different renderers diverged from the input. CDE would not do well compared to modern systems like macOS. CDE is not a renderer, it uses Motif and Xlib (and perhaps xcb in places) for its graphics. > Do you think CDE is making an intentional stylistic choice to render text in this way? Or do you think it doesn't have the functionality to render it with more fidelity to the font definition? CDE uses Motif and Xlib, Motif does have the ability to render antialiased text via Xft which uses FreeType which is pretty much what most other toolkits use to perform font rasterization.
- haolez 5y agoI agree with you, but I get a feeling that all points you've mentioned can be fixed and still maintain the same retro aesthetics. Isn't it an implementation issue rather than a design issue? Genuinely curious.
- chrisseaton 5y agoYes agreed they could be fixed and maintain the retro aesthetic, and it is an implementation issue. The implementation is not modern. You could have a modern implementation of the same aesthetic.
- coldtea 5y agoNot enough graphics?
- chrisseaton 5y agoI don't get this response to my comment. Why do you want more graphics? How many graphics there are is a decision of the application. The fidelity of the rendering is up to CDE, and the result is poor.
- coldtea 5y ago>Why do you want more graphics? I don't. You seem to do. More as in better, not as in more triangles on screen or more graphic operations per second. >The fidelity of the rendering is up to CDE, and the result is poor. Hence my response: is this poor rendering "not enough graphics" for you (as in "not fancy enough")? Because many could not care less for the "fidelity of the rendering" compared to the actual functionality. I could be black and white dithered for all it matters (in fact, many would do with just some terminals).
- chrisseaton 5y ago> is this poor rendering "not enough graphics" for you (as in "not fancy enough")? I never mentioned more graphics. Only you did! Nobody here wants more graphics. You’re arguing with an imaginary person saying different things to me. I’m interested in rendering that is accurate, with fonts that are correctly hinted and rasterised and icons that are correctly composited, with a high-resolution for high-fidelity. This rendering is inaccurate and low-fidelity which makes it a poorer experience. It’s not about being fancy it’s about showing me the text and I’m working with and the graphics that are there with as much precision as possible. Compare the same fonts and icons rendered with a modern rasteriser style a modern DPI. Doesn’t compete. > Because many could not care less for the "fidelity of the rendering" compared to the actual functionality. Showing me the text and UI I’m working with is the functionality of a desktop environment. Without rendered text for me to work on… what am I doing in my desktop environment?
- blablabla123 5y agoIt should be a doable effort to implement high-res font rendering - maybe even just the font needs to be swapped out. I think it's great when good software gets maintained and renewed which is the case here as far as I understand even if there are still some things that could be improved. That said, I like the look&feel of CDE, good to see efforts to get this working on Linux.