Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
qoir
-
The Near-Lossless Image Formats Using Ultra-Fast LZ Codecs
It's important to notice that ZPNG beats virtually all QOI variants, as discovered in: https://github.com/nigeltao/qoir
-
Hello, PNG
But most platforms these days have some form of CRC32 "acceleration". Adler32 is easy to compute so I'm even less concerned there.
I spent a bunch of time optimising the code in [fpnge](https://github.com/veluca93/fpnge), which is [often notably faster than fpng](https://github.com/nigeltao/qoir/blob/5671f584dcf84ddb71e28d...), yet checksum time is basically negligible.
Having said that, the double-checksum aspect of PNG does feel unnecessary.
-
Quite OK Image is now my favorite asset format
* AFAIK it does this while beating the original QOI in terms of speed AND efficiency
Lots of benchmarks in: https://github.com/nigeltao/qoir
QOIX
QOIX is my very own version that adds:
chess
-
Quite OK Image is now my favorite asset format
I think it's in the title: assets. The example case is replacing the BMP assets used by a game with QOI with a resulting 10x size reduction: https://github.com/skeeto/chess/commit/5c123b3
I think this functions as a test case. For a game as simple as a chess UI, PNG would probably be fine unless you're code-golfing on the final output binary or refusing to use common dependencies. But for some programs (e.g. large video games), preloading all your assets is very common and decoding speed can be crucial. Maybe the assets could even be left in compressed form in memory in order to reduce the system requirements? I'm not sure if this is common or not.
-
Is there a way to embed textual data in the binary and then free it when you need?
However, I don't really like the constraints this imposes, so I prefer my #include trick. In real programs I don't actually rely on xxd (part of Vim), and instead write a custom embed tool as part of the build. It's only a few lines of code to match the standard input behavior of xxd.
-
Looking for feedback on my Chess game
https://github.com/skeeto/chess/commit/9cc8c60 (depends on Vim xxd)
What are some alternatives?
CompactGUI - Transparently compress active games and programs using Windows 10/11 APIs
EightThirtyTwoDemos - Demo projects for the EightThirtyTwo CPU
qoipond - Lossless image format inspired by QOI “Quite OK Image” format
libdeflate - Heavily optimized library for DEFLATE/zlib/gzip compression and decompression
tinf - Tiny inflate library (inflate, gzip, zlib)
fpng - Super fast C++ .PNG writer/reader
chess
figlet-fonts - my collection of figlet / toilet ascii art fonts
fpnge - Demo of a fast PNG encoder.
Zpng - Better lossless compression than PNG with a simpler algorithm