4 ms·
> Dynamic high quality text rendering with support for all the random fonts we throw at it is actually very hard and nuanced with a distinct lack of hw accelera
by illiarian 4y ago
> Dynamic high quality text rendering with support for all the random fonts we throw at it is actually very hard and nuanced with a distinct lack of hw acceleration techniques. There’s been some advances to use GPU acceleration but those are still research and haven’t yet seem mainstream adoption afaik.
Are you perhaps on the Microsoft team responsible for the new Widows Terminal who claimed that drawing text fast is a PhD research-level topic? I remember it didn't turn out well
- j16sdiz 4y agoIt turn out breaking RTL handling
- vlovich123 4y agoNope. And it is much higher level than PhD. PhD is akin to someone with a few years of industry experience. A very small minority is extremely talented and can do research well beyond their years, but that’s not PhD level. It’s professorial level work (remember PhDs do some of the practical grunt work but usually a good professor will act as a sounding board / set out the research direction / help unblock students). Consider that Raph and many others like him have spent decades thinking about this problem and working on it off and on and still haven’t fully cracked it. See the PathFinder for example as an attempt to research new techniques to make this work. There’s other work extending this and trying to put it into a real world system. I’ve briefly worked in related areas so I know a little bit about how hard it is and have talked to experts in the GPU space, but it’s not my particular area of interest / expertise. I’d call myself an expert generalist so a lot of the expert-level techniques that domain experts employ can be beyond my skill set (in general vector processing like SIMD and GPUs aren’t areas I’ve delves in too deeply because of how difficult it can be to get really good).
- illiarian 4y agoI feel like this was at least partly written by ChatGPT :) Even if "dynamic high quality text" is hard, I would like to remid you that we're essentially running supercomputers. And most of "dynamic high quality text" on our computers is incredibly static for signinficant amounts of time. Even on CPU we should be able to render any quantity of any quality of any dynamic text at speeds that cannot be perceived by the human eye. (Well, as it turns out, we do exactly that, even on smart phones) And, of course, people have done that, with very little effort. Reason? They actually looked at what a modern computer is capable of, and used that instead of hiding behind high brow "oh, it's beyond PhDs my dear Watson for sho"
- vlovich123 4y agoNope no ChatGPT. You may want to reread what I said. I was responding to someone talking about games and game performance in the context of text rendering. And the PhD research topic is how to use the GPU to accelerate text rendering. You seem to perhaps be misunderstanding what I’m saying and somehow thinking I’m defending > Microsoft Teams takes 9 seconds to display under a kilobyte of text, including 3 seconds to just display a splash screen) I’m not. Clearly it shouldn’t take that long to render that text. But achieving a screen full of text at 120fps (or is it even just 60fps) on the highest resolution displays is actually a difficult problem for CPU renderers to achieve (even for the greatly simplified case of a single mono space font). If you think otherwise, you may want to sync up with Raph and publish your contributions to this space. It’s possible I’m getting some of the specific details wrong (again - not my area of expertise) but there’s definitely a push to find HW acceleration within the GPU to achieve those frame rates (and not just text rendering - all 2D rendering is difficult to HW accelerate). Notice in [3] how CPU renderers are still lower latency than GPU ones because it’s an area of active research that hasn’t yielded winners yet. Also I’m well aware we have super computers in our pocket. But don’t forget that the screen resolution is really frickin high and DPI scaling on top (so that text is actually legible) adds additional overheads (+ rendering at 60hz instead of 120). There’s also all sorts of tricks being played (eg it’s not going to be rendering the full screen I think because most UIs are retained not immediate). [1] https://raphlinus.github.io/rust/graphics/gpu/2020/06/01/piet-gpu-progress.html https://raphlinus.github.io/rust/graphics/gpu/2020/06/01/pie... [2] https://raphlinus.github.io/rust/graphics/gpu/2020/06/13/fast-2d-rendering.html https://raphlinus.github.io/rust/graphics/gpu/2020/06/13/fas... [3] https://medium.com/@raphlinus/inside-the-fastest-font-renderer-in-the-world-75ae5270c445 https://medium.com/@raphlinus/inside-the-fastest-font-render...