我正在开发一个使用OpenTK绘制成千上万的2D线和多边形的应用程序,因此内存管理至关重要,我注意到,一旦调用了这些用于将数据生成和缓冲到GPU的方法,内存就会随着如果我有大量示例,则显示大量兆字节:
GL.BindBuffer(BufferTarget.ArrayBuffer, VBO);
GL.BufferData(BufferTarget.ArrayBuffer, new IntPtr(sizeof(float) * 2 * item.Count), item.ToArray(), BufferUsageHint.StaticDraw);
GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
其中项目是包含顶点的列表。如果我将许多示例一起加载,可能会出现内存不足异常的情况。