This is an honest question. What is the advantage of GPU acceleration for a terminal emulator?
I don’t do much low level graphics stuff, but a terminal seems fairly simple graphically, you are just drawing glyphs at xy cords. Would love it if someone had a good explanation.
Obviously there are some terminal applications that could be redrawing very quickly, but that seems like a solved problem.
Is it more complicated than wanting to update the display as often as its fresh frequency? Faster screen updates, lower CPU & power usage.
You might not notice the difference until you accidentally unleash a lot of output at once - then you'll see the difference. Some terminals start to update infrequently to save themselves, some hang completely while burning the CPU.
Psychologically I feel more in control of my computer, more confident to try things out if I can see my typing updating instantly than 10s or 100s of milliseconds later.
I believe that there is a difference. I would just love to understand it better.
Does anyone have a benchmark of the differences? Is it like a 2-3x improvement or only much smaller? What is the actual latency?
Does anyone have any links to a low level explanation?
A really basic test is just type "base64 < /dev/urandom" in your terminal. How fast does the screen update? And if you press ctrl+C, how long does it take to get your shell prompt back?
(ofc the differences might not be something you ever notice or care about)
But what's the use case for this?
When do I actually need to DISPLAY megabytes worth of output as lag-free as possible on a terminal?
There is no way for the intended recipient of displayed information (aka. the user) to process any of it, so what's the point of eliminating lag?
well... come to the future: https://www.youtube.com/watch?v=dcjkezf1ARY
And what exactly is the use case for this?
If I want to work with images, animations, etc. I use a GUI library. These in turn already use hardware accelerated rendering.
And I already have powerful, optimized, tested, reliable software that enables me to work with terminal and GUI functionality side by side; the DESKTOP ENVIRONMENT.
Terminal User Interfaces. There's technically no reason i can't check out an image in a folder when i'm browsing on an SSH session (yes i know i can rsync/scp && xdg-open but it's not exactly as fast to type as viu [0].
> powerful, optimized, tested, reliable software that enables me to work with terminal and GUI functionality side by side
If you have tested and reliable desktop environments to recommend, i'm all ears. All the ones i've tried over the years have their own quirks and memory leaks (yes, that includes GNOME and KDE).
But as you said, both approaches are complementary. I'm glad notcurses exists and works via graceful degradation, so people with a modern terminal can get the best while others can still get a featureful ncurses-like experience.