Directx 样本方法HLSL的复杂性。O(1),O(n)?

Directx 样本方法HLSL的复杂性。O(1),O(n)?,directx,hlsl,directx-11,directx-9,directx-10,Directx,Hlsl,Directx 11,Directx 9,Directx 10,大家好。我想知道是否有人知道HLSL纹理采样函数的复杂性,比如tex2d和DX10/11等。如果纹理中有一个像素阵列,那么它访问一个像素的复杂度是恒定的,但是它使用UV访问像素,所以我不知道函数的复杂度。有人知道吗?O(1) 我不知道HLSL采样在内部是如何工作的,但我最近为一个自定义网格类构建了自己的(正在工作的)采样器。性能差异是由插值方法的选择引起的: 点式取样器 点采样器使用。当然,该算法的性能非常好,因为UV只是四舍五入到最接近的整数像素索引 线性采样器 由于使用了这种方法,因此效果更

大家好。我想知道是否有人知道HLSL纹理采样函数的复杂性,比如tex2d和DX10/11等。如果纹理中有一个像素阵列,那么它访问一个像素的复杂度是恒定的,但是它使用UV访问像素,所以我不知道函数的复杂度。有人知道吗?

O(1) 我不知道HLSL采样在内部是如何工作的,但我最近为一个自定义网格类构建了自己的(正在工作的)采样器。性能差异是由插值方法的选择引起的:

点式取样器 点采样器使用。当然,该算法的性能非常好,因为UV只是四舍五入到最接近的整数像素索引

线性采样器 由于使用了这种方法,因此效果更好。假设UV指向四个像素之间的位置。然后在正方形的顶部像素上执行lerp,在底部像素上执行另一个,在结果上执行第三个。由于这种滤波涉及4个像素和12个浮点插值,因此速度不如点采样

各向异性采样器 各向异性过滤器产生(当前)最高质量的结果。它是可用类型中速度最慢的




它将是O(1),因为它确实没有任何可依赖的“n”。它将只使用提供的uv数据计算内存地址,并将其索引到内存中,所有这些都可以通过O(1)完成。我没有立即找到任何参考,这就是为什么这只是一个评论。我想知道为什么这真的很重要。我想知道,因为我有一个循环,在每次迭代中使用纹理采样,因此我想知道纹理大小会对itTexture过滤器产生多大影响,我怎么没想到:facepalm谢谢,这就是我想知道的