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
I finally found an easy solution for this, which I think is the same trick the Sketch and Figma use to deal with many large images.
We already have in place a DPI lowering method that re-renders the image based on their scaling. So if you import a 8000x8000 pixels image at 300 DPI, but you resize it down to 400x400, we recalculate the pixbuf to return an equally sharp image but for the new resolution, instead of compressing those 8K pixels in a smaller container, which affects performance and makes the image hard to see.
Currently, we don't do anything when zooming in and out the canvas, which in practice it's actually resizing the canvas size and all its items.
Solution: Reduce the image quality based on the Canvas zoom ratio.
So, if you're looking at the image at 100% Canvas zoom, in its entirety, we don't reduce the quality, because we safely assume that you're looking at a few large images at once, and you're not reorganizing large images all at once since potentially you don't have the screen real estate necessary to do that.
If you zoom out, for example at 50% zoom, we can recalculate the pixbuf of all the images currently inside the viewport, and return a slightly compressed version of those items, since you don't need to look at those at full quality, and you probably have many images in the viewport and you're interacting with those.
All this temporary "quality reduction" will obviously be ignored during export, which always grabs the maximum available resolution of the image, allowing users to reduce the quality independently.
Expected Behavior
Performance should be the same regardless of overlapping images
Current Behavior
When moving an image and it overlaps the responsiveness of the program decreases.
Possible Solution
Have some sort of culling engine? (No idea, using my game dev brain)
Steps to Reproduce (for bugs)
Import multiple images
drag an image on top of one or many images.
Context
I constantly work with high resolution images and this would make the software a pain to use
Screenshots of the Problem
https://gfycat.com/elatedpiercingkissingbug
Your Environment (for bugs)
The text was updated successfully, but these errors were encountered: