ループで直接使用するのではなく、最初にオブジェクト プロパティを変数に割り当てる方がよいでしょうか?
ビットマップがBitmap img = new Bitmap("image.jpg")
あり、処理を行うためにすべてのピクセルをループする必要があるとします。約 200 万ピクセルの 1080p 画像の場合。data.Stride
それらを最初に変数に使用または割り当てても問題はありint dataStride = data.Stride
ませんか? オフセットを計算するために毎回アクセスする必要がありますが、dataStride は画像の定数です。
data = editImage.LockBits(new Rectangle(0, 0, editWidth, editHeight), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
byte* dataPtr = (byte*)data.Scan0;
dataStride = data.Stride;
最初にオブジェクトに(毎回)アクセスし、次にオブジェクトから整数に(毎回)アクセスする必要があると考えているため、最初にそれらを変数に割り当てます。そして、それは大きなループなので...合計します。そのため、最初にプロパティを変数に割り当てると、int 値に直接アクセスできるため、高速になります。これは正しいです?