请问如何减少OpenGL的内存开销?

ohday 2012-02-27 07:10:04
在做一个项目的时候需要显示大大小小几百个球体,球体我用链表类Sphere来存储,定义如下:

class Sphere
{
public:
float loc[3];
float rgb[3];
float radius;
Sphere *next;
public:
Sphere()
{
memset(loc,0,sizeof(float)*3);
memset(rgb,0,sizeof(float)*3);
radius=0.0f;
next=NULL;
}
};


以链表的方式进行存储,十几个球还可以,但是几百个就会使刷新变得很慢。我看到过有成熟得软件可以实现更好的功能,觉得自己对于内存处理和VC的运作还有很多不了解的地方,特此向论坛的大虾们请教!
...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ohday 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shn521 的回复:]

你是怎么创建链表的
用new吗
那用完就delete释放就行了
[/Quote]

是这样的,这个链表是需要存储下来的核心数据,在程序结束的时候才需要删除。每次刷新都需要载入球体的位置,颜色,半径信息,多了会很慢。
shn521 2012-02-27
  • 打赏
  • 举报
回复
你是怎么创建链表的
用new吗
那用完就delete释放就行了

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧