SixLabors / ImageSharp

:camera: A modern, cross-platform, 2D Graphics library for .NET
https://sixlabors.com/products/imagesharp/
Other
7.39k stars 851 forks source link

v3.1.x Fix 2758 #2759

Closed JimBobSquarePants closed 3 months ago

JimBobSquarePants commented 3 months ago

Prerequisites

Description

Fixes #2758

I cannot include the images in the tests as I was unable to open a FileExplorer instance containing them without crashing in my Windows 11 instance.

Still not sure what's going on with the provided repo, but I have added the relevant test images and tests.

antonfirsov commented 3 months ago

Looks like it's breaking other gif use-cases?

I plan to also take a look in the weekend and the add test images. For me File Explorer works on Win11 for the folder.

JimBobSquarePants commented 3 months ago

Looks like it's breaking other gif use-cases?

I plan to also take a look in the weekend and the add test images. For me File Explorer works on Win11 for the folder.

@antonfirsov My first attempt was bad as I misunderstood the problem.

I've now refactored the LZW decoder to run row-by-row, so we only allocate enough bytes for a single row rather than the full buffer. In this case this brings down the allocation from 4GB to 64K. This should mean a massive win across the board.