Emulsion v0.6.2

0.6.1 moved you to working at the frame's own size. That is the most expensive thing the viewport can do, and until now it did it to the whole picture in order to show you a window onto part of it. This release renders the window. At 1:1 on a 24-megapixel frame the viewport renders 7.1 megapixels where it rendered 24.5, and a change reaches the screen in 17 ms where it took 170. Zoomed out it renders coarser instead, because a display cannot show more samples than it has pixels.

Nothing here changes what an export or a finished render looks like: none of this reaches the export path.

Changed

  • The viewport renders the rectangle you are looking at. Zoomed in, the render covers what is on screen plus the band the film's own optics read outside it — the lens blur, the halation, the coupler diffusion and the sharpening each state how far they reach, and the band is the sum. It is not an approximation: inside the rectangle the result is the crop of a full-frame render, and where it cannot be — a filter whose reach exceeds half the picture, for instance the diffusion filter — the viewport renders the whole frame as before rather than guessing.
  • The working resolution follows the zoom. At a fit view of a 24-megapixel frame the display resolves about one sample in three, so the render is at half the long edge: 30.4 ms of card time against 8.0, with 99% of channels within two levels of the full-resolution render it replaces. The Clean picker is a ceiling on this rather than a target — it says what the viewport may never exceed, and the zoom takes less where less is all the screen can show.
  • Panning reuses what it has already rendered. After the first pan the viewport renders on a grid fixed to the picture and keeps finished tiles, so returning to ground you have already covered costs a repaint and not a render. A fresh zoom still renders one rectangle fitted to the window, which is the cheaper arrangement for looking once and adjusting a slider.
  • A drag shows the sharp rectangle. A frame of a gesture used to be the coarse render's to answer whatever the real render cost, which was a fair rule when a settle was a full-frame render at 170 ms. A settle is 15–32 ms now, so what decides is the measurement: below a tenth of a second the viewport waits for the real thing. HDR is the exception and stays coarse, because its tone map is a statement about the whole picture and has to be solved on one.
  • A crop stays on the graphics card. Enabling one used to send the frame back to the processor, crop it there and upload it again — 10 ms on a 24.5-megapixel frame and 48 on a 60-megapixel one, every time the crop moved.
  • Draft is a ceiling too, and the panel now says what it means. It is the coarse frame shown while a slow render catches up, not the resolution a drag renders at, and asking for finer than the render needs changes nothing.

Fixed

  • 100% was one source pixel per point, not per screen pixel. On any Retina display that drew the picture at twice the physical pixel grid, which is the one thing the shortcut exists not to do. The 1 key, the double-click toggle and the zoom readout all mean device pixels now. Expect the picture to look half the size it used to when you press 1 — that is the correction, and at that zoom one pixel of the render lands on one pixel of your screen.
  • Output sharpening measured its radius against the cropped frame rather than the whole one, so a crop quietly changed how sharp the picture was.

Downloads for this version are no longer published. Upgrade to the latest release for binaries.