So I switched over my old EAGLView based code to use a GLKView.
When I run the profiler with OpenGL ES Analysis, I get a warning about 'Logical Buffer Store.'
0 libglInterpose.dylib 0x100e88190
1 GLKit -[GLKView _resolveAndDiscard]
2 GLKit -[GLKView _display:]
3 GLKit -[GLKViewController _updateAndDraw]
4 libglInterpose.dylib 0x100f587fc
5 QuartzCore CA::Display::DisplayLinkItem::dispatch()
6 QuartzCore CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long)
7 IOKit IODispatchCalloutFromCFMessage
8 CoreFoundation __CFMachPortPerform
9 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
10 CoreFoundation __CFRunLoopDoSource1
11 CoreFoundation __CFRunLoopRun
12 CoreFoundation CFRunLoopRunSpecific
13 GraphicsServices GSEventRunModal
14 UIKit UIApplicationMain
15 dig main /Users/bram/apps/Proto/Dig/iOS/main.m:14
16 libdyld.dylib start
OpenGL ES performed a logical buffer store operation. This is typically caused by switching framebuffer or not discarding buffers at the end of the rendering loop. For best performance keep logical buffer store operations to a minimum amd discard the depth buffer at the end of each frame. See the EXT_discard_framebuffer extension for more details..
I used to have a EXT_discard_frame buffer in my EAGLView, but now I use GLKView, I am surprised GLKView does not do the discard operation?