测试 OpenGL 能从gpu 申请多大空间/或分配多少顶点(glBufferData)

来源:互联网 发布:辽宁科技大学软件学院 编辑:程序博客网 时间:2024/05/01 20:48
static void TestMaxGLBufferData(){glewInit();#ifdef _WIN64printf("WIN64 模式下: \n");#elseprintf("WIN32 模式下: \n");#endiflong long nNumberM = 0;// 限制一个数目,防止程序异常不能跳出(联想 T530 ) [12/2/2016 ZOSH];const long long MAX_NUMBER = 10000;while (glGetError() == GL_NO_ERROR && nNumberM < MAX_NUMBER){GLuint objectVBO = 0;glGenBuffers(1, &objectVBO);glBindBuffer(GL_ARRAY_BUFFER, objectVBO);// 1<<20 = 1M 的空间;glBufferData(GL_ARRAY_BUFFER, 1 << 20, NULL, GL_STATIC_DRAW);nNumberM++;}printf("gpu最大可申请多少 %lld M, 最多顶点数目(x, y, z分量):%lld 个\n", nNumberM, nNumberM * 1024 * (1024 / 12));printf("请自行删除申请的空间!\n");}

0 0