gpt4 book ai didi

opengl - 从 OpenGL/DirectX 程序员的角度来看, "GPU Cache"是什么?

转载 作者:行者123 更新时间:2023-12-01 16:49:01 29 4
gpt4 key购买 nike

Maya promo video解释 GPU 缓存如何影响用户使应用程序运行得更快。在像 Cinder 这样的框架中,我们在每帧更新时重新绘制我们想要在场景中的所有地理结构,并将其发送到显卡。那么我从程序员的角度来谈谈 GPU 缓存背后的原因是什么?这些技术背后有哪些 OpenGL/DirectX API?如何在 GPU 内存中“缓存”我的网格?

最佳答案

据我所知,OpenGL 或 DirectX 无法直接指定在 GPU 缓存上存储和跟踪什么内容,什么内容不存储。然而,为了充分利用缓存,应该遵循和维护一些方法。其中一些包括:

  • 批量,批量,批量。
  • 将数据直接上传到 GPU
  • 对索引进行排序以最大化网格中的顶点局部性。
  • 将状态更改保持在最低限度。
  • 将着色器更改保持在最低限度。
  • 将纹理变化保持在最低限度。
  • 尽可能使用最大纹理压缩。
  • 尽可能使用 mipmapping(以最大化纹素采样局部性)

同样重要的是要记住,不存在单个 GPU 缓存。有多个(顶点、纹理等)独立的缓存。

来源:

OpenGL SuperBible - Memory Bandwidth and Vertices

GPU Gems - Graphics Pipeline Performance

GDC 2012 - Optimizing DirectX Graphics

关于opengl - 从 OpenGL/DirectX 程序员的角度来看, "GPU Cache"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273790/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com