[1/2] Here is a demo of a simple, completely unoptimized terminal renderer I wrote over a few days. Supports scrollback, line wrapping, Unicode combining, RTL-over-LTR, multicolor fonts, changing fonts on the fly, etc. It runs at several thousand FPS.https://youtu.be/hxM8QmyZXtg
-
Show this thread
-
[2/2] This was in response to the outlandish parade of excuses that I heard when I stated that it was simple to make a terminal render at several thousand frames a second, even with Unicode and color support. Hopefully this rains as thoroughly as possible on that insane parade.
2 replies 12 retweets 363 likesShow this thread -
(And as I say in the video, I would actually consider this code to still be _quite slow_. I did not profile or optimize the code at all. An optimized version of this code could perform significantly faster on a number of important metrics, specifically ingress speed)
5 replies 2 retweets 235 likesShow this thread -
Replying to @cmuratori
First, thanks for doing this, maybe somebody at MS can learn from this. Second, any chance this is going to be open-sourced, made available to the terminal guys at MS so every Windows user can profit from your work? (I understand why you would be reluctant though).
3 replies 0 retweets 18 likes -
Replying to @molecularmusing
It's on GitHub, GPLv2. Any GPLv2 compliant codebase can use it - but really there isn't even any reason to? It's literally just an LRU cache in front of the glyph generator (DirectWrite). That's all you need to do. Anyone can type one in over a few hours!
1 reply 0 retweets 29 likes -
Replying to @cmuratori @molecularmusing
I presume this is how most video games have worked for a long time, except for a few modern ones that rasterize on the GPU (it is what Braid and The Witness did).
3 replies 0 retweets 30 likes -
Are your new games also rasterizing on the gpu?
1 reply 0 retweets 2 likes -
Not currently, it still seems too expensive with little benefit, but that might not be the correct judgement call. (I guess you could always do a cached version that rasterizes on the GPU, but, then you are putting more code into shader hell).
1 reply 0 retweets 5 likes -
Replying to @Jonathan_Blow @cookieneeder and
When you say "seems too expensive", is this just a gut feeling, or do you have actual data? It's not too expensive, and the benefits are greater than you're aware. I'd be happy to fill you in. (I realize this may come across as somewhat antagonistic, but that's not my intent.)
2 replies 0 retweets 8 likes
Caching might still be necessary for a very high-speed terminal, but regardless, it would still be very nice to have a high-speed GPU-side glyph generator _as well_ to generate the cached glyphs, since that would surely be a win.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.