New Feedback
Add a way to work and check image at 100% and beyond (with distinct way of knowing at a glance at what zoom % one is currently at. Implementation could be a simple toggle/general icon o range to go to and from, and in case of touch devices maybe a doble tap on image..? (specialy 200% for HDPI screens > Macs) +
A way to lock the zoom level to enable comparing separate images in scene to same point and magnification.
When I'm adjusting an Image I'm constantly zooming in and out so as to check the effect of the changes at full view (fit to screen) and a closer view (full magnification), like when playing with HALATION and GRAIN & STRUCTURE.
The click (or maybe doubleclick?) on the image behavior could go from whatever magnification state the image is currently in to the FIT TO SCREEN State and viceversa, meaning if one is in a general view aka FIT to screen or smaller, clicking on the image would go strait to the maximum magnificaction.
I want to avoid that the app becomes slow and laggy at all costs and working with 2k-4k (roughly screen-size) previews, including for HDPI displays is currently the most straightforward way to ensure terrific performance.
Working with images at 100% of their native resolution when the resolution is higher than 2k-4k (depending on hardware capabilities and display size) probably won't be supported anytime soon. You can see what it takes to render a large (say 48MP) image at full size when you export it at full resolution: we have to render individual tiles on the GPU and then piece them back together on the CPU to form a full resolution image. Directly rendering a 48MP image on the GPU is not possible with the current render engine.
It might make sense to develop a significantly different renderer that dynamically streams mip-level textures into the GPU so that only the currently visible area of an image is rendered at its native resolution. This would also require that images are stored in RAM at their full resolution which in turn would mean that we'd have to dynamically stream images from disk into RAM and free up memory as soon as an image loses visibility as we can't hold many large full size raw images in RAM at the same time.
Evolving the renderer towards supporting these functionalities is definitely a longer term goal but not an easy task to implement well.
@monokee Totally understand what your saying regarding prioritizing speed/responsivness and that's one of the things I love of COLOR.io but I think I explained poorly the problem for me and a posible simple solution. The thing is I don't need MORE RESOLUTION just a bump in MAGNIFICATION because of working on a MAC with Retina display / HiDPI display, because with these screens the maximum magnification isn't enough.
@gfc Got it, basically just remove/extend the restriction that currently prevents you from zooming into the preview image further. That would work. I'll have to figure out a way to label these zoom levels in a way that is not confusing though. Because when you're zoomed into the preview image at 100% of the original image size, you'll be looking at a blurry picture. Labeling that as 100% zoom wouldn't be right. Still a label like this might be a good way to educate users about the difference between preview resolution and inherent image resolution.
With regards to Retina displays: Color.io already factors the retina pixel density into the way preview image resolution is calculated. So if you're working on a retina display with 2x more pixels, the preview resolution is also twice as large as it would be on the equivalent screen with half the pixel density.
I think a temporary zoom label over the image is the way to go. Double click to punch in to 100% original image resolution. Double click again to fit the image to the viewport. Extend context menu with options: Fit, 100%, 200%, 300%.
Merged in a post:
@gfc I just published an update that enables greater magnification and quick zoom. Here are the details:
Labels will be added next.