4 ms·
A faster terminal is a great idea, but GPU acceleration is not the way to do this. GPUs aren't really meant for bit blitting sprite graphics. (Which is what a
by otabdeveloper4 4y ago
A faster terminal is a great idea, but GPU acceleration is not the way to do this.
GPUs aren't really meant for bit blitting sprite graphics. (Which is what a terminal really does.)
- adastra22 4y agoIsn't that literally what GPUs were designed to do?
- layer8 4y agoThe term GPU is primarily associated with 3D graphics, and most of what GPUs do is designed for that. Hardware acceleration of 2D graphics existed long before 3D hardware acceleration became common for PCs, but wasn’t called GPU, instead it was simply referred to as a graphics card.
- rowanG077 4y agoIf you can to the number crunching for 3D graphics, you see as hell can do it for 2D graphics.
- layer8 4y agoIt’s a different set of operations for the most part, when you look into it. Drawing a 2D line or blitting a 2D sprite is quite different from texture-shading a 3D polygon. It’s not generic “number crunching”.
- imtringued 4y agoOk but just because operations aren't perfectly identical doesn't mean you can't do it and it certainly doesn't mean it will be slow. I have had great success with SDL_gpu.
- rowanG077 4y agoIt's tensor ops all the way down
- adastra22 4y agoTexture blitting is a very important part of 3D graphics, and is essentially what is required here.
- layer8 4y agoThe difference is that applying textures to a 3D object is almost never a pixel-perfect operation, in the sense of texture pixels mapping 1:1 to final screen pixels, whereas for text rendering that’s exactly what you want. Either those are different APIs, or you have to take extra care to ensure the 1:1 mapping is achieved.
- jlokier 4y agoThe transforms are specified so you can position things perfectly these days, when aligned with screen pixels. Think of the compositing of layers of translucent windows used in modern 2d window managers, while dragging them around. Or even scrolling in a browser. Those rely on the GPU for fast compositing. Even for 3d, think of the screen-space techniques used in games, where it's necessary to draw a scene in layers combined with each other in various interesting logical ways (for shadows, lighting, surface texture, etc), with the pixels of each layer matching up in a reliable way.
- adastra22 4y agoThere are ways to configure the texture blitter to be precisely 1:1. This is written into the GL/Vulkan standards for exactly this reason, and all hardware supports/special cases it. It is how pretty much every GUI subsystem out there handles windowing.
- layer8 4y agoYes, my point is that this is a special case separate from normal 3D graphics.
- incrudible 4y ago…so why are GPUs not the way to do this, when GPUs are in fact the way it is commonly done?
- flohofwoe 4y agoMost of what a GPU does is drawing pixels though (even in 3D games), and that's as 2D as it gets.
- incrudible 4y agoActually they were, before 3D acceleration became a thing, 2D acceleration was a thing.
- layer8 4y agoThe 2D acceleration wasn’t called GPU at the time though. That denomination only started with 3D acceleration.
- incrudible 4y agoThe name may have changed, but the task of blitting remained with GPUs. They are good at it.
- Shorel 4y agoYou are thinking about Trident cards, which had 2D acceleration. Nowadays, everything is done with the same pipeline as the 3D graphics, there's no need for two pipelines. GPUs are meant for this. Modern ones. Your knowledge is incomplete, outdated, or both.
- flohofwoe 4y agoIn (realtime) rendering the saying goes "bandwidth is everything", and that's exactly what GPUs do really well, moving incredible amounts of data in a very short time.