cocoa是否限制了C/C++ openGL应用程序的整体性能?

Dar*_*nor 1 c c++ opengl cocoa objective-c

我想在Macintosh上编写第一个OpenGL应用程序.以前我只在Windows中完成OpenGL编程.根据我的阅读,基本上有三种选择:

谷氨可可碳

Glut是不可能的,因为我不喜欢它的外观,而且根据我的阅读,不赞成使用Carbon的好份额.现在,关于Cocoa:

这里有一个帖子:纯C中的Cocoa OpenGL窗口?提到Cocoa将你限制在一个线程中.这是整个应用程序的单个线程,还是窗口管理的单个线程?我是否会被禁止从C/C++本身进行多线程编程?

此外,可可会减慢你的速度吗?暴雪使用什么样的窗口管理?

The*_*Saw 5

大多数"纯C"框架(包括SDL)仍然使用Objective-C和Cocoa来创建和管理OpenGL窗口.您不应该在整个应用程序中强调少量的Objective-C.您可以在Objective-C中做到最低限度,并在C中构建应用程序的其余部分.使用Cocoa符合您的最佳利益,因为随着时间的推移,支持正在改善.如果你使用碳,支持会随着时间的推移而恶化,直到它突然被消除.

你对GLUT是正确的.转向清楚.有很多优秀的框架.GLUT对OpenGL教育有好处,就是这样.

您不会受限于使用多个线程.您在其他讨论中看到的线程讨论是指所有OpenGL调用必须如何从"主线程"发生.换句话说,一旦创建了新线程,就无法从该新线程进行OpenGL调用,因为上下文一次只能在一个线程中激活.(有调用使上下文在另一个线程中处于活动状态,但重点在于你仍然只能在一个线程中工作.)但是,你的程序的其余部分可以有多个线程没问题.

简而言之,不,你的表现不会受到任意限制.