哪个更快:调用glGetUniformLocation还是使用std::map
Which is faster: calling glGetUniformLocation or using std::map?
我正在尝试将GL调用封装在外部函数和类中。因此,这给我的着色器设置统一带来了一个问题:glGetUniformLocation是一个缓慢的操作吗?如果是这样的话,使用std::map将由统一名称索引的统一索引存储在字符串中会更慢还是更快?我试图避免静态地(即使用宏或类似的)统一编码
编译/加载着色器时只调用glGetUniformLocation
一次,然后自己缓存结果;在帧中使用它会导致暂停,因为大多数驱动程序并没有将其实现为热通道,而是会等待任何排队的管道操作完成后再执行(这适用于大多数glGet
函数,永远不要在帧中调用这些函数,只调用一次,然后自己缓存结果)。
相关文章:
- 存储在 std::map/std::set 中,与在存储所有数据后对向量进行排序
- 如何在<N>不发生内存泄漏的情况下同时(线程安全)填充 c++11 std::map<std::string,std::bitset*>?
- 无法在 std::map<std::string,std::shared_ptr 中设置值<class>>
- 如何在C++中迭代集合映射(std::map<std::set< char>, int >)?
- 如何初始化结构字段 std::map<std::string, std::string>称为参数
- issue with std::map std::find
- 为什么 std::map< std::map >不释放内存?
- C++ map<std::string> vs map<char *> 性能(我知道,"again?" )
- 确定运行时std::map/std::set的内存使用情况
- 映射上的模板参数无效 std::map< std::string, Stock*> &Stock
- 我的SFINAE检查std::map/std::vector有什么问题
- 使用 std::map<std::string, int> 计算表达式树
- 将数据从两种不同的数据结构插入 std::map <std::string, int> mymap 并通过套接字发送
- 类中的编译器错误,数据类型为 typedef map<std::string,std::p air<std::string,vector<int>>> MapPai
- C++ std::map<std::string, std::set<std::string>> .如何循环设置值?
- 如何填写和访问 std::map<std::p air<enum1, enum2>, funcPtr>?
- 二进制'<':找不到 map<std::string shared_ptr 的运算符<Foo>>
- 如何将 2 个字符* 数组直接映射到 std::map<std::string,std::string>
- C++ std::map<std::string, int> 获取键以特定字符串开头的值
- 从取消引用的迭代器返回 std::map<std::string, int> 时出现巨大的内存泄漏