加载数据太大怎么处理? (glBindBuffer glBufferData)
加载数据太大怎么办? (glBindBuffer glBufferData)
其实我有个小程序, 需要做图形处理.
然后我使用VBO 把图形数据推送到 GPU上去处理, 加快显示和解算速度.
现在问题是 数据是时序的, 如果全部加上需要 2G 的空间 (glBindBuffer glBufferData), 而我GPU的"内存" 只有 512M.
这个怎么办? 问题是必须在解算显示前加到gpu上, 不然速度会很慢.
非常感谢
------解决方案--------------------
有几个问题。
是图像的分辨率大, 还是你将所有的时间的图像总共的数据量大。
如果是后一种, 就一帧一帧传导gpu处理然后显示。
如果是前一种, 问题是一定要全部都放到gpu上才能处理吗, 如果不用,就预分割, 分别处理。
或者大分辨率是为了显示吗, 如果是为了显示, 就把分辨率降到和显卡设置相同再处理, 图像不会很大的, 为了显示图像这么大没什么用
------解决方案--------------------
从硬盘上读数据到内存,那肯定是要花费一定时间的。你写个预读缓存啊,写个队列,使用子进程(线程)的方式来管理。
其实我有个小程序, 需要做图形处理.
然后我使用VBO 把图形数据推送到 GPU上去处理, 加快显示和解算速度.
现在问题是 数据是时序的, 如果全部加上需要 2G 的空间 (glBindBuffer glBufferData), 而我GPU的"内存" 只有 512M.
这个怎么办? 问题是必须在解算显示前加到gpu上, 不然速度会很慢.
非常感谢
------解决方案--------------------
有几个问题。
是图像的分辨率大, 还是你将所有的时间的图像总共的数据量大。
如果是后一种, 就一帧一帧传导gpu处理然后显示。
如果是前一种, 问题是一定要全部都放到gpu上才能处理吗, 如果不用,就预分割, 分别处理。
或者大分辨率是为了显示吗, 如果是为了显示, 就把分辨率降到和显卡设置相同再处理, 图像不会很大的, 为了显示图像这么大没什么用
------解决方案--------------------
从硬盘上读数据到内存,那肯定是要花费一定时间的。你写个预读缓存啊,写个队列,使用子进程(线程)的方式来管理。