![]() Preparation, this code sets hash to the sum (overflow is ok) of all pixel values in the region to the top left of the pixel at x,y. I have a small algorithm to make the comparisons more efficient, assuming you just bruteforce right now. Thanks for sharing, it'll really come in handy for screencast demos. It's pathetic.ĪPNG is at least a chance to wipe the slate clean.Īnyway, nifty animator there. I don't know if one actually exists - I gave up on GIF long ago, after a string of horrendous failures similar to yours, where even the simplest animations would result in 1 MiB outputs and have horrible dithering banding throughout.Īdd to that the similar disregard in decoding in browsers - where a 256 KiB GIF takes a full 45 seconds to load (stuttering and freezing for 20 seconds at a time) on a 50mpbs connection running on an i7 CPU as a result of the combined failure of encoders and decoders alike. There's no reason a good GIF encoder couldn't do what you did in your post. ![]() The problem is with the crappy-ass encoders that take the laziest approach possible, rendering each frame separately, literally not cross-optimizing anything, applying random dithering in hopes it'll look OK on the pathetic monitors that were the best the 80s had to offer, and trying to do it all with as little RAM and CPU time as possible with no regard for searching for similarities across frames and finding ways to optimize the results appropriately. It has the potential to be decent (color space issues aside). GIF itself (from what little studying I've done of the spec) isn't such a terrible "codec" to work with, and it has features comparable to basic, decent video codecs. It seems all the GIF encoders out there just take the easiest way out. The problem is with shitty encoders and shitty software that was all written during the late 80s and early 90s then never touched and improved since. From my experience with GIF back in the day (with the file type, not the protocol, I did not do any GIF-related development), the problem is not with the specification.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |