最佳位图大小以实现最佳GPU性能?

4

我知道处理图形卡时需要提供2的幂次方位图。1,2,4,8,16,32...我计划制作一个基于瓦片的项目,但我需要知道是否有在向图形卡提供巨大位图时有任何限制。使用小/大位图的优缺点是什么?是否有更好的位图大小可供选择?


这不是很可能特定于某个GPU /芯片组的组合吗? - forsvarir
也许是这样,但对于128MB及以上的卡片,必须有一种首选的位图大小。我非常想看到优缺点。 - Johnathan
我认为在大小方面没有限制,事实上最佳性能应该是一次性发送完整的位图。 - David Heffernan
很高兴听到这个消息,因为我的项目需要一个大位图。对于我的程序来说,块越大越好。 - Johnathan
1
是的,GPU在大量数据的非频繁发送时工作效果更好。 - BlackBear
1个回答

1
一般来说,处理现代GPU时,更大的数据大小更好。您没有说明使用的API(OpenGL、CUDA等),但可以这样考虑:
chunk_time = overhead_time + (num_of_elements/num_of_chunks) * per_element_time
total_time = chunk_time * num_of_chunks

每个数据块的内存传输和代码执行都会产生开销。根据数据的大小,您可能会遇到其他限制:例如OpenGL中的最大纹理绑定大小取决于实现。我认为1k x 1k应该是过去5年左右硬件的安全最小值,但是最近的显卡可以处理8k x 8k。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接