3 ms·
> unfortunately it's way too slow to get anywhere near 'realtime' output (30fps or better). That's not due to sixels. Check out the sixel nyan cat: https://git
by csdvrx 5y ago
> unfortunately it's way too slow to get anywhere near 'realtime' output (30fps or better).
That's not due to sixels. Check out the sixel nyan cat: https://github.com/hackerb9/sixvid https://github.com/hackerb9/sixvid
Look at the FPS indicator in the bottom. It was pointed to me in https://github.com/microsoft/Terminal/issues/448#issuecomment-928717530 https://github.com/microsoft/Terminal/issues/448#issuecommen...
The issue may be in your code.
I think I have similar performance issues, as the glyph selection process could be more optimized.
Derasterized is mostly Jart work (who is best known here for her work on Cosmopolitan), we were mostly interested in quality.
Reducing the set of glyph to something that could benefit from optimizations could help.
> I really wish there was a decent pixel-framebuffer standard for terminals (with at least the same performance as ncurses)
Sixel performance is quite decent: personally, I can play videos in my terminal.
Try MPV on mintty: https://github.com/mpv-player/mpv/issues/2183 https://github.com/mpv-player/mpv/issues/2183
I have also played with a X server rendering over sixel, no performance issue: https://github.com/saitoha/xserver-SIXEL https://github.com/saitoha/xserver-SIXEL
When sixel support is added to Windows Terminal, I may update it, because it would be fun to have one tab to run stuff!
- flohofwoe 5y agoWow interesting, thanks for the links! I still suspect it's a performance issue in the terminal(s) I tested (mainly iTerm2 on Mac, and probably Ubuntu's vanilla terminal), because it would take a lot of effort to make encoding a 320x200 framebuffer to sixels slow ;) I should definitely have another look though, it's good to know that it is possible to get decent performance out of sixels.
- csdvrx 5y ago> Wow interesting, thanks for the links! Indeed! It's nice to see what's possible! As for video playback, while it may not be realistic with the current sixel-tmux due to the size of the search space, it may be possible once the new 1FBxx block https://en.wikipedia.org/wiki/Symbols_for_Legacy_Computing https://en.wikipedia.org/wiki/Symbols_for_Legacy_Computing is integrated into derasterize and the suggested fonts: restricting ourselves to the 1FB0x-1FB3x subset would only require adjudicating about 64 characters. Some very basic programming tricks (a bloom filter after binarization of the input, memoizing...) may be sufficient to derasterize sixel videos in real time, even on an average system. > I still suspect it's a performance issue in the terminal(s) I tested If you don't use Windows, try xterm and mlterm. For xterm, I maintain a set of config files giving you a decent out-of-the box experience, cutexterm > I should definitely have another look though, it's good to know that it is possible to get decent performance out of sixels. Indeed :) It's a format that has been unfairly dismissed. It's old, but we have great tools like libsixel to do anything we want with it in this millenium. Speaking of libsixel, also check https://github.com/libsixel/libsixel https://github.com/libsixel/libsixel a recent fork that's open to PR