轉載自:http://hi.baidu.com/daoguchengshu/item/06aa4a09d3ca7810ebfe3815
lpitch是結構體DDSURFACEDESC2的一項,這個結構體描述了頁面/表面的一些信息。
lpitch一般譯做步幅(stride)或內存寬度(memory width)。注意,它與DDSURFACEDESC2結構體中的另一項dwWidth的意義是不一樣的。
lpitch的單位是字節,dwWidth的單位是像素。所以,一個640×480×8(640×480個像素,每像素用8位,即一個字節表示)頁面,dwWidth=640 像素(字節)。但是,此時Lpitch不一定就等于640(字節)!同樣一個640×480×16的頁面,它的Lpitch值也不一定等于640×2(字節)。
這是因為,Lpitch中的字節數有時還包含了高速緩沖區的內存字節數。如下圖:

通過以上圖可以看到,頁面外面還有一段額外內存,而這段內存是未知的;所以說,假如一個640×480×8的頁面,它的dwWidth值是640,但是,它的Lpitch值應該是640+x,x就是高速緩沖區Cache占用的內存。
所以,如果要訪問這個頁面緩沖區的第y行的第x個像素,應該這樣:
ddsd.lpSurface[x+y*ddsd.lpitch]