在OpenGL(或任何其他图形库)中使用1D纹理与使用2D纹理相比是否有优势(速度、内存等)?我意识到我只需要使用1个坐标而不是2个坐标来处理纹理,但我想知道是否有任何速度或内存方面的优势?
pgccezyw1#
我正在查找此问题的“编辑”下列出的信息:Are 1D Textures Supported in WebGL yet?1D纹理并非毫无意义,它们之所以存在,是因为它们不仅有其用途,而且旨在转化为GPU本身的优化(与2D纹理相反)。请记住,每个参数都需要时间加载到调用堆栈,几乎所有GPU编程都是优化每一个可能操作的艺术。这是否真的会提高任何应用程序的性能,仍然需要分析。无论如何,我正在编写库代码,这足以让我决定我应该支持使用1D纹理。
mzsu5hc02#
它主要取决于目标平台硬件和驱动程序。
fnx2tebb3#
我已经做了一个小的benchmark,看看是否有任何区别。在我的PC中,1D纹理一直更好,但只有大约0.7%。请记住,这可能取决于GPU和驱动程序。请随时尝试基准测试,并分享您的结果。
3条答案
按热度按时间pgccezyw1#
我正在查找此问题的“编辑”下列出的信息:Are 1D Textures Supported in WebGL yet?
1D纹理并非毫无意义,它们之所以存在,是因为它们不仅有其用途,而且旨在转化为GPU本身的优化(与2D纹理相反)。请记住,每个参数都需要时间加载到调用堆栈,几乎所有GPU编程都是优化每一个可能操作的艺术。
这是否真的会提高任何应用程序的性能,仍然需要分析。无论如何,我正在编写库代码,这足以让我决定我应该支持使用1D纹理。
mzsu5hc02#
它主要取决于目标平台硬件和驱动程序。
fnx2tebb3#
我已经做了一个小的benchmark,看看是否有任何区别。
在我的PC中,1D纹理一直更好,但只有大约0.7%。请记住,这可能取决于GPU和驱动程序。请随时尝试基准测试,并分享您的结果。