Delaying potentially expensive Drag data preparation

Looking at the Drag and Drop documentation, I am wondering how it would be possible to avoid running potentially expensive (memory, time and or space) operations just to have it thrown away. In this case, rendering out Shotwell’s non-destructive modifications.

There is a similar question regarding this here, How to delay GtkDragSource's prepare until some async process done? which looks like the issue is supposed to be solved with a FUSE, which kind of would fit here as well, but I was wondering if there is another way to do this?