#sixels do “compress” image data by its nature design, #libsixel is highly optimized, on the other side #kittyterminal protocol
Direct transmission (t=d):
RGB/RGBA -> base64 … huge data transfer
RGB/RGBA -> PNG -> base64 … better in size, significant overhead
RGB/RGBA -> zlib compression -> base64 … also significant overhead
RGB/RGBA -> PNG -> zlib compression -> base64 .. even bigger overhead
Simple file transmission (t=f)
Client needs access to file … Forget about #ssh
Temporary file transmission (t=t)
Client needs access to /tmp, /dev/shm … forget about ssh
Shared memory object (t=s)
Client needs to have access to POSIX shared memory object/Windows named shared memory object … forget about ssh.
So yes, kitty is “superior” protocol with superior performance, except it works as “superior” only on localhost and event that is questionable at least in case of #brow6el (ok I acknowledge thats this is very specific “hack”)