【问题标题】:Ideal bitmap size for optimal GPU performance?最佳 GPU 性能的理想位图大小?
【发布时间】:2011-08-20 21:45:57
【问题描述】:

我知道在处理显卡时,需要提供2次方的位图。1,2,4,8,16,32...我打算做一个基于tile的项目,只有我需要知道向显卡提供巨大位图是否有任何限制。使用小/大位图的优点/缺点是什么?我应该使用更可取的位图大小吗?

【问题讨论】:

  • 这不是特定于特定的 GPU/芯片组组合吗?
  • 也许是这样,但对于 128MB 及以上的卡,必须有一个首选大小的位图大小。我很想看看利弊。
  • 我认为没有大小限制,最好的性能应该是一次性发送完整的位图。
  • 很高兴听到这个消息,因为我的项目需要一个大位图。块越大,对我的程序越好。
  • 是的,gpu 可以更好地处理非频繁但大量数据的发送

标签: c++ graphics gpu


【解决方案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。

【讨论】:

    猜你喜欢
    • 2015-10-10
    • 2014-11-02
    • 2021-02-04
    • 2013-12-07
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2012-02-14
    • 2017-09-19
    相关资源
    最近更新 更多