Hacker News new | past | comments | ask | show | jobs | submit login

What nonsense. kitty's graphics protocol is literally infinitely faster than sixels for local transmission and the same speed as sixels for remote transmission, taking into account that kitty's graphics protocol supports 32bit colors, unlike sixel.



This is interesting. I am trying not to feel offended by your toxic play, so let's get started:

> kitty's graphics protocol is literally infinitely faster than sixels for local transmission

Let's get the comparison right here (not apples with pies), Kitty graphics over the PTY wire is slower than Sixel over the PTY wire. Kitty supports bypassing the PTY by just referencing to a file locally present on the file system or using n SHM region on the local memory. Both solutions won't work over the internet, because they break the VT I/O model. But you are right, when bypassing the wire, it'll be faster. That sadly limits you to local-only use.

> literally infinitely faster

I wonder what your math behind this is :-P

> taking into account that kitty's graphics protocol supports 32bit colors, unlike sixel

Sixel is using a palette to define the colors to reference from. This pallete can be either in Hue or in RGB format. Of course, the palette has limited amount of entries (which can be queried), but during the image transmittion, just adjust your palette, to get a breader range of colors to chose from. It's still RGB, or to be more precise RRGGBB (8-bit red/green/blue components, which makes it 24-bit. I wonder if what you mean with 32-bit colors other than 24-bit colors plus 8-bit alpha. Alpha values is something that is not supported by sixel (wrong age for Sixels :D), but still it is possible to render images that do not cover only rectangular parts. For example that image here: https://contour-terminal.org/screenshots/contour-notcurses-n... - look at the logo. But I agree, semi-transarent images are not possible using Sixels. But then, you probably want to use a GUI then :)


No, its only slower over PTY because the kitty protocol is transmitting images with higher fidelity, aka color accuracy. So if you want to compare apples to apples get sixel to transmit images with equal fidelity first. I'll go raise three generations of my family while you try to achieve that.

As for infinitely faster, that was obvious hyperbole. For local transmission, using shared memory to transmit RGBA data directly is going to absolutely crush serializing then transmitting over a pipe the de serializing. This is so obvious it doesnt even need to be stated. And the vast majority of image display and indeed terminal usage in general happens locally not remotely. Which is why the kityt protocol sensibly prioritizes that use case.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: