LightPhotos

Which cameras do LightPhotos and LightCraft support?

I tested 18 RAW files at preview and full size. Every engine used the same sharpening and color noise reduction. The camera setting matters. So does the path from sensor data to screen pixels.

  1. Input Open RAW file
  2. Apple RAW Develop at preview size
  3. GPU Render base color
  4. GPU Sharpen + color NR
  5. Output 2560 px RGBA8

Apple renders at the preview size. The same shared GPU detail pass then sharpens the image and reduces color noise.

Same 16 files · 2560 px preview 4.65 s
Select a size and an engine. A shorter bar means less time for the shared files at that size.

LightCraft has its own RAW engine. I tested each engine with the same files at two sizes: a 2560-pixel preview and full resolution. Both tests produce sRGB RGBA8 display pixels with sharpening and color noise reduction.

The result

LightPhotos uses Apple's Core Image on Mac and rawler on other platforms (Windows, Linux and the browser). The Apple RAW and rawler bars below show those two engines.

Decode failures

Out of 18 RAW files · lower is better

  • Apple RAW0 / 18
  • rawler 0.8.01 / 18
  • LightCraft RAW2 / 18

Time for preview

2560 px preview · same 16 files · lower is better

  • Apple RAW4.65 s
  • rawler 0.8.08.50 s
  • LightCraft RAW5.25 s

Time for full resolution

Full resolution · same 16 files · lower is better

  • Apple RAW12.56 s
  • rawler 0.8.013.52 s
  • LightCraft RAW18.01 s

Mac mini, Apple M4, 16 GB RAM, macOS 26.5.2

Both time charts use the same 16 files decoded by all three engines. Each total adds the median times from five runs per file. Failed files do not count as zero time. Full resolution means the original file's developed dimensions; there is no preview reduction.

Why the times differ

Rawler develops the full image on the CPU before it makes a preview. Apple can develop at the requested size. LightCraft can reduce the sensor data first. After base color rendering, all three use the same GPU pass: sharpening at 40 and color noise reduction at 25.

Rawler has no built-in GPU mode. The test adds a GPU detail pass after its CPU development. This is a controlled test path, not the complete LightPhotos path. LightPhotos also has faster preview paths in the browser.

At full size, preview reduction is off. Rawler can skip its preview resize, but all engines must process more pixels in the shared detail pass. The filters and settings match; the RAW color and tone rendering still differ.

Check the camera and the setting

A JPEG preview inside a RAW file does not count as a sensor decode. These results apply to the files tested, not every mode from each camera. Apple's column uses Core Image first, as LightPhotos does. All files passed that path, so its ImageIO fallback was not needed.

See all 18 files and their render times

Use the size buttons in the diagram to switch this table.

2560 px preview, sRGB RGBA8 output; median of five runs
Camera and modeApple RAWrawler 0.8.0LightCraft RAW
Sony A7 IV14-bit, 4608 × 3072 182.6 ms289.4 ms164.6 ms
Sony A7 IVLossless compressed, Large 370.1 ms549.5 ms337.1 ms
Canon EOS 5D Mark IIICR2 160.7 ms547.5 ms382.5 ms
Canon EOS R5 Mark IICR3 RAW 726.4 ms942.9 ms399.0 ms
Canon EOS R5 Mark IICR3 C-RAW 557.8 ms975.3 ms592.1 ms
Nikon Z fLossless compressed NEF 289.2 ms525.4 ms287.2 ms
Nikon Z fHigh Efficiency NEF 300.5 msFailedFailed
Fujifilm X-A514-bit Bayer, uncompressed RAF 154.8 ms415.4 ms205.3 ms
Fujifilm X-T5Compressed X-Trans RAF, sample 6122 349.2 ms842.0 ms413.3 ms
Fujifilm X-T5Compressed X-Trans RAF, sample 6123 411.8 ms882.8 ms389.3 ms
Panasonic Lumix S5 IIRW2 384.0 ms519.2 ms299.4 ms
Olympus E-1ORF 106.6 ms97.1 ms162.4 ms
Olympus OM-D E-M1Compressed ORF 294.2 ms492.6 msFailed
Pentax K-rPEF 156.6 ms305.7 ms354.2 ms
Samsung NX200SRW 136.5 ms451.2 ms263.2 ms
Ricoh GR IIICamera-native DNG 374.3 ms573.7 ms387.9 ms
iPhone 12 ProProRAW DNG 174.9 ms349.8 ms314.5 ms
Canon EOS 5D Mark III via Adobe DNG ConverterLinear DNG, lossless JPEG 111.5 ms231.5 ms302.7 ms

What this test measures

All engines returned the same image size and pixel format. Workers stayed open. Apple reused its render context. Each engine had a warm-up pass. We then ran five rounds in a mixed order, with warm file caches and no saved image results. Time includes reading the file, RAW processing, any resize and the transfer of GPU results to memory. Full-resolution runs disable preview scaling and sensor binning. Both sizes use 8-bit output; this is not a 16-bit export test.

Apple's adjustable detail filters are off where supported. LightCraft's native detail filters are also off. We then apply the same GPU sharpening and color noise reduction to each output, with the same settings and working color space. This does not remove processing already baked into a camera file or make the RAW colors identical.

The time adds RAW conversion and the shared detail pass. Moving pixels between the test programs is not timed; all three use the same handoff. This compares controlled processing work, not equal final quality or the speed of either app with its normal defaults.

For more cameras, see the support lists from Apple for macOS 26, rawler and LightCraft. The source photos are public CC0 files from raw.pixls.us.