OSX OpenGL 프로젝트를 OpenGL 4.1로 업데이트하려고합니다. 내 셰이더는 #version 410
을 사용하며 모든 것이 효과적이며 꽤 멋지다. 오늘 나는 새로운 NSOpenGLPFAOpenGLProfile
값이 4.1이므로 픽셀 형식 프로필을 NSOpenGLProfileVersion3_2Core
에서 NSOpenGLProfileVersion4_1Core
으로 업데이트했으며, 이제는 렌더링이 으로 매우 어둡습니다.은 느립니다. 내 픽셀 형식 초기화 코드는 다음과 같습니다.OSX에서 OpenGL 4.1로 프로젝트 업그레이드 - NSOpenGLProfileVersion4_1Core를 사용하면 렌더링 속도가 느려짐
NSOpenGLPixelFormatAttribute attrs[] =
{
NSOpenGLPFADoubleBuffer,
NSOpenGLPFADepthSize, 24,
NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion4_1Core,
0
};
NSOpenGLPixelFormat *pf =
[[NSOpenGLPixelFormat alloc] initWithAttributes:attrs];
아무도 왜 이렇게 느린 지 알 것입니다. 업데이트 할 항목이 있습니까?
내가 그 일정에 익숙하지 않은입니다. 10.9가 릴리즈되고 GL 4.1 컨텍스트를 도입했을 때, 상수는 여전히 'NSOpenGLProfileVersion3_2Core'이었으며 상수가 플랫폼이 지원하는 가장 높은 버전 컨텍스트를 제공한다는 것이 이해되었습니다. 마치 하드웨어 대신 레퍼런스 소프트웨어 렌더 경로를 제공하는 것처럼 들립니다. –
답장을 보내 주셔서 감사합니다! 나는이 상수를 사용하기 위해 [glfw] (https://github.com/glfw/glfw) 프로젝트가 업데이트 된 것을 보았다. 그래서 나는 그것이 작동하고 있다고 가정했다 ... 나는 당신이 정확하다고 믿는다. 4_1 상수. 어쩌면 요세미티에만 유효 할 것입니다 ... –
아, 당신은 절대적으로 옳습니다. 나는 github을 확인하고 ['nsgl_context.m'] (https://github.com/glfw/glfw/blob/439417a22c584360775ce89450c3548a7a4d28fc/src/nsgl_context.m)의 131 행을 보았습니다. OS X 10.10에서만 작동하는 프리 프로세서 지시문이 있습니다. 그래서 그것은 10.10에 특정한 변화처럼 보입니다. –