Pixel binning (clusters of adjacent pixels are grouped together, or 'binned', to form a larger so-called "superpixel") offers many advantages but also disadvantages:
disadvantages
Pixel binning requires more complex image processing algorithms - this can sometimes result in visual artifacts. In addition, the result is an image with a significantly lower resolution than the sensor actually provides (I will leave aside whether you always need the high resolution).
advantages
The possibility of noise reduction has already been mentioned here. Another possible application is "real-time HDR": Individual pixels are used for dark image areas (shadows) and others for bright areas (highlights). This makes it possible to take an HDR image with a single shot instead of taking several shots in succession and stitching them together later - this means that no artifacts occur with moving objects (e.g. leaves on a tree in front of the sky in a windy day) and HDR video is possible.
Another advantage: If you need a lot of megapixels (e.g. for a large-format print or to have more scope for cropping) and the lighting conditions are good, you can simply switch to high resolution mode and - in the case of the Google Pixel 8 Pro - take a 50MP picture.
Which brings us back to the actual question:
Does GrapheneOS take advantage of the full 50MP camera on the non pro version of the Pixel 8?
Regarding the GrapheneOS camera app:
- take advantage in the sense of pixel binning benefits: yes
- take advantage in terms of a 50MP high resolution image: no.
I have a P8Pro - in the Google Camera App I can switch between 12 and 50MP in App settings> Photo Settings> Pro> Resolution.
This results in portrait format photos with a resolution of 4080 x 3072 (12.5MP) or 6144 x 8160 (50.1MP).
In the GrapheneOS camera app (version 66) however I cannot change the resolution and always get pixel binned photos with 12.5MP.