wglGetProcAddress的性能,应该调用缓存吗?

时间:2013-07-30 19:38:54

标签: linux macos winapi opengl

在初始阶段使用的函数(来自遗留库)中有一个简单的代码 - 例如在Texture Loader模块中。

loadTexture() {
    // ...
    gl_func = wglGetProcAddress(...)
    // ...
    gl_func()
}

我应该担心wglGetProcAddress电话的费用吗?或者它可能是如此之快以至于不需要缓存机制?或者也许WGL缓存此过程的调用?

GLX和Apple的其他类似功能怎么样?我也应该担心或不关心它们吗?

1 个答案:

答案 0 :(得分:2)

wglGetProcAddress至少会进行一些字符串比较,因此它不是免费的。最大的问题是,如果每次使用gl函数时插入wglGetProcAddress,代码都会很难看。

如果您使用将所有丑陋的wglGetProcAddress放在单独文件中的生成器,那就最好了。例如,使用gluxglloadgen