You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rendering a source image into its final form for preview is computationally expensive and though you can just redo everything over, this naive solution wastes both CPU and user time doing the same work over again.
What's the solution?
For every piece of source content, and for each render type (fill, stroke, text, vectorize), we place this content grouped under its hash identified content group, with a repeatable hash of the settings JSON used to generate it. We can now compare settings JSON data and see if its changed based on the hash, and if it has, the sub-object can be deleted and new content rendered into its place.
Implementation
Make a hash data attached to each render target within the render grouping for the item.
With hash against each settings item on the final, (plus width/height), should prevent re-renders when needed
Allow moving of stage item (bounds change, but w/h don't) to move rendered group.
Raster: Get resolution size down working for big images (calculate DPI from bounds scale).
Pass cncserver specific tmp dir over as part of filler/vectorizer utils so we don't need that in implementors.
The text was updated successfully, but these errors were encountered:
What's the problem?
Rendering a source image into its final form for preview is computationally expensive and though you can just redo everything over, this naive solution wastes both CPU and user time doing the same work over again.
What's the solution?
For every piece of source content, and for each render type (fill, stroke, text, vectorize), we place this content grouped under its hash identified content group, with a repeatable hash of the settings JSON used to generate it. We can now compare settings JSON data and see if its changed based on the hash, and if it has, the sub-object can be deleted and new content rendered into its place.
Implementation
The text was updated successfully, but these errors were encountered: