Самый простой способ подвести итог - попытаться сделать как можно меньше вызовов API, чтобы нарисовать то, что нужно нарисовать. Использование вершинных массивов или VBO (даже необязательных в современных API), текстурные атласы и устранение необходимости изменения состояния - все это способствует. Удивительно, сколько треугольников может нарисовать современный графический процессор за то время, которое требуется вам, чтобы развернуться и настроить следующий вызов рисования.