If you make a View that contains Field.module fields (for display, not for Sort or Filter criteria), the views_handler_field_field
class loads every entity within the view and then just pulls out the needed values for display.
As far as I know, this architectural decision was made to avoid the MySQL JOIN limit on tables (61). However, most views won't get near to that many JOINs. We may be able to get a major efficiency improvement on field listings if we intelligently determined how many JOINs were going to be used, and only resort to loading all entities if nearing the limit.
There may be other problems with some fields that assume that they get the entire node, which may need to be adjusted. Let's do some research on if this is possible and/or worth it from a performance perspective.
Recent comments
YES! That works. This whole thing is extremely bizarre, though. On the site I'm building (not the sandbox demo), I had a view that was displaying multiple images correctly (i.e. once, not...
Duplicated images in view
Maybe "Query settings" : "Distinct". If there are multiple identical items, each will be displayed only once. You can use this to try and remove duplicates from a view, though it...
Duplicated images in view
If there are N images in the field, then that set of N images gets repeated N times, it seems.
Duplicated images in view