Closed Shane32 closed 1 month ago
@Shane32 I merged the other PRs as suggested, but it seems there's still a conflict. Can you pull the current master into your branch?
@gfoidl Another performance optimization. Would you mind doing a review?
@codebude No problem; done. (No conflicts in VS, but GitHub isn't quite as smart!)
Thanks for your work and review @Shane32 & @gfoidl
This PR optimizes the speed and transient memory requirements required to note which modules are blocked and cannot be used by data. Previously a list of blocked areas was maintained, whereas now a bitmap of the entire QR code is maintaned. This results in much faster execution but consumes more memory. To compensate, a
[ThreadStatic]
reusable buffer is used to store the bitmap temporarily during QR code generation.Requirements
This PR requires these other PRs to be merged in first, so GitHub will display a proper diff:
527
528
529
Before
After