我正在尝试将图像直接绘制到屏幕上。它由内核计算并存储在GPU内存中,因此不应将其复制回CPU内存。还应该可以在同时计算更多数据的同时动态放大图像。
有人能指出我有效地做到这一点的方法吗?到目前为止我发现的所有东西都非常慢(例如使用OpenGL绘制一个立方体,图像为纹理)。实现这一目标的最快方法是什么?就像我说的那样,在放大图像时,应该可以计算更多数据来动态细化图像。从我读过的内容来看,OpenGL可能是最快的方式(性能方面),但如果它已经是我想要的方式,那么将图像放在立方体上并在其上运行大量着色器似乎非常慢。 / p>
Mathe172
答案 0 :(得分:0)
查找众多OpenCL / OpenGL互操作示例中的一个,它们都显示了您想要的内容。他们创建了一个与OpenGL纹理互操作的OpenCL图像,在将OpenCL数据渲染到图像后,他们使用OpenGL显示它 - 没有通过PCIe总线复制回CPU内存。只需通过放大绘制纹理的OpenGL四边形就可以放大图像。如果你正在谈论大量的缩放,那么你将需要一个高分辨率的纹理。如果要进行大量的缩放,你应该重新考虑问题并计算当前显示所需的内容(因为有大量的缩放,大量数据将在屏幕外)。