Я разрабатываю 3D-игру, но уже в одном из первых тестов, с действительно небольшим количеством вычислений, я получаю около 3 или 4 кадра в секунду. Следующий мой код: http://pastebin.com/j2DWPS6Z Это файл Terrain.cpp, который я использовал в основном коде: http://pastebin.com/d1gnE5KH
Глядя на код, который я использую для рисования, я рисую только 400 полигонов. Насколько я знаю, это не должно падать в fps примерно на 3-4 кадра в секунду.
Компьютер, который я использую, - HP Elitebook 8570w, с 8 ГБ оперативной памяти и ядром Intel i7, так что это не проблема.
Кто-нибудь знает, что я делаю неправильно, чтобы сделать fps таким низким?
Я думаю, что проблема может заключаться в вызове glFlush()
из внутреннего цикла drawTerrain()
. Обычно вам не нужно вызывать эту функцию, менее всего из внутреннего цикла. Попробуйте просто удалить его.
GL_VENDER
,GL_RENDERER
иGL_VERSION
чтобы увидеть, что вы на самом деле получили. Кроме того, использование немедленного режима является самым медленным способом рисования (но даже это не должно быть таким медленным). И практически каждая из используемых вами функций GL устарела.