June 16, 2026
7:58 p.m.
On Tue Jun 16 13:38:19 2026 +0000, Esme Povirk wrote:
DGifGetCodeNext calls READ, though, rather than SeekFunc, which I would expect to read the (compressed) data. You are right。But it does not load all pixel data into persistent memory. It reads compressed sub-blocks through a small fixed buffer(256 bytes) to advance the stream, but discards the data immediately after each sub-block.
The READ call advances the stream position (which is necessary to reach subsequent frames), but the actual memory footprint stays constant at 256 bytes — compared to the old approach which would allocate width × height bytes per frame and keep them all. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11149#note_143307