Please have a look at these enhancements and see if you want to merge them #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi Zach,
Offering these performance enhancements to VECTO, which can be rather slow sometimes on mobile devices. A major speedup is for string drawing, under a new function DRAW-STRING-FAST, which caches character glyph bitmaps rather than vector-rendering them repeatedly. Another major speedup is for PNG encoding, but it is conditional only to mocl because it calls out to mocl's own PNG encoder. FWIW, wanted to keep it under ZPNG, but just couldn't achieve the necessary level of performance in a reasonable amount of engineering time.
Not sure if this will completely fit your vision for VECTO or your preferred coding style, so please feel free to reject or modify whatever changes. If necessary, we can maintain our own fork instead rather than go the merge route.
Changes: