On Thu, Feb 19, 2009 at 1:56 PM, Wade Brainerd <wad...@gmail.com> wrote: > RLE (run length encoding) compresses sequences of identical pixels ("runs") > as value/count pairs. > So abbbbbbbbbbccc would be stored as 1a 10b 3c. > The decompressor looks like: > while (cur < end) > { > unsigned short count = *cur++; > unsigned short value = *cur++; > while (count--) > *dest++ = value; > } > This can be faster than memcpy because you are reading significantly less > memory than you would with memcpy, thus fewer cache misses are incurred. > Because the startup images are mostly spans solid colors, this kind of > compression works very well. If that were not the case, say if there were a > left-to-right gradient in the background, RLE would probably make things > worse, thus you have to be careful when choosing it. > But the smaller size on disk and in memory would probably improve > performance in other ways as well. > Best, > Wade
thanks, that makes sense _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel