Disable CAOpenGLLayer asynchronous mode

canDrawInCGLContext is called far more often than blit, so it seems like a
waste of effort.
master
Graham 5 years ago
parent c5b8487e1b
commit 064ecf3497
  1. 6
      gl-natives/src/main/c/jaggl.c

@ -211,7 +211,7 @@ static void *jaggl_proc_addr(const char *name) {
- (id)init { - (id)init {
self = [super init]; self = [super init];
if (self) { if (self) {
self.asynchronous = YES; self.asynchronous = NO;
self.opaque = YES; self.opaque = YES;
self.needsDisplayOnBoundsChange = YES; self.needsDisplayOnBoundsChange = YES;
self.autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable; self.autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;
@ -257,6 +257,10 @@ static void *jaggl_proc_addr(const char *name) {
glBlitFramebufferEXT(0, 0, framebuffer_width, framebuffer_height, 0, 0, framebuffer_width, framebuffer_height, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT, GL_NEAREST); glBlitFramebufferEXT(0, 0, framebuffer_width, framebuffer_height, 0, 0, framebuffer_width, framebuffer_height, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT, GL_NEAREST);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
dispatch_sync(dispatch_get_main_queue(), ^{
[self setNeedsDisplay];
});
} }
- (BOOL)canDrawInCGLContext:(CGLContextObj)context - (BOOL)canDrawInCGLContext:(CGLContextObj)context

Loading…
Cancel
Save