SharpGL C# WinForm низкий fps при отрисовки ~2000 прямоугольников

При отрисовки в sharpGl текстурированных прямоугольников(1856 шт)(текстура 16x16px) тормозит отрисовка. Через стандартный отрисовщик отображается fps 500-600(как я понял это потенциальный) а по факту 10fps, хотя по таймеру должно быть 60-65. Пробовал запускать на разных компах. Без текстур ситуация чуть лучше но не на много.
Раньше тоже самое делал через Tao.framework этот же код работал прекрасно.
Пример кода отрисовки прямоугольника(долго выполняется именно этот кусок кода):

    public void DrawRectangle(int x1, int y1, int x2, int y2, Texture textureID)
    {
        // включаем режим текстурирования 
        gl.Enable(OpenGL.GL_TEXTURE_2D);
        gl.Color(1f, 1f, 1f);
        gl.Enable(OpenGL.GL_BLEND);
        // включаем режим текстурирования.
        textureID.Bind(gl);
        // отрисовываем полигон 
        gl.Begin(OpenGL.GL_QUADS);
        //gl.Begin(OpenGL.GL_TRIANGLES);

        // указываем поочередно вершины и текстурные координаты 
        gl.TexCoord(0, 0);
        gl.Vertex(x1, y1);
        gl.TexCoord(1, 0);
        gl.Vertex(x2 - 1, y1);
        gl.TexCoord(1, 1);
        gl.Vertex(x2 - 1, y2 - 1);
        gl.TexCoord(0, 1);
        gl.Vertex(x1, y2 - 1);
        // завершаем отрисовку 
        gl.End();
        gl.Disable(OpenGL.GL_BLEND);
        gl.Disable(OpenGL.GL_TEXTURE_2D);
    }
    public void DrawScene(SharpGL.OpenGLControl control)
    {
        //int y = 3;
        for (int x = 0; x < 58; x++)
        {
            for (int y = 0; y < 32; y++)
            {
                DrawRectangle(x*32, y*32, x*32 + 31, y*32 + 31, spTexFloor);
            }
        }

    }

ссылка на проект в Visual Studio целиком: https://drive.google.com/drive/folders/1Ef0BFr_Qhr0PbcIawPy5jDi3gfSXH8hl?usp=sharing

Вопрос: Почему фактически рисует 10 кадров в секунду когда OpenGL может 500(если верить встроенному отрисовщику fps библиотеки) при ограничение таймером в 60fps


Ответы (0 шт):