Not exactly: texture arrays are declared in HLSL as Texture2DArray for Texture2D and not as an array of texture, so it is quite different. They are almost acting as a 3D texture, where the z is a slice of the 2D Texture (in terms of uv, it is the w dimension). This has the benefit ofThe difference with 3D texture is that they are not supporting trilinear interpolation between the 2D slices but you can still select dynamically a Texture2D slice with a z/w component (anunlike an array of texture doesn't support that), the z/w component is rounded to the nearest integer to select the z/w slice. Concerning the memory, I believe this is equivalent, for performance, not sure they give a huge boost even when performingaccessing a trilinear filtering but this should be betterset of Texture2D compare to an array of texture (but they support dynamic indexing). Using Texture2DArray is also easier as you only need to bind it to a single slot. Lastly, an array of texture cannot be indexed dynamically unlike a Texture2DArray.