在初始化阶段使用的函数(来自遗留库)中有一个简单的代码,例如在纹理加载程序模块中。
loadTexture() {
// ...
gl_func = wglGetProcAddress(...)
// ...
gl_func()
}
我是不是应该担心电话的费用?或者它太快了,不需要缓存机制?或者WGL为进程缓存这样的调用?
GLX和Apple的其他类似功能呢?我是否也应该担心他们?
最佳答案
wglGetProcAddress
将至少执行一些字符串比较,因此它不是免费的。最大的问题是,如果每次使用gl函数时都插入wglGetProcAddress
,那么代码将很难看。
最好使用一个生成器,将所有丑陋的wglGetProcAddress
放在一个单独的文件中。例如使用glux或glloadgen。
关于linux - wglGetProcAddress的性能,是否应缓存调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17955893/