Я использовал небезопасные блоки для управления Bitmap-данными. Необработанный указатель-доступ значительно быстрее, чем SetPixel / GetPixel.
unsafe
{
BitmapData bmData = bm.LockBits(...)
byte *bits = (byte*)pixels.ToPointer();
// Do stuff with bits
}
«фиксированный» и «небезопасный» обычно используется при выполнении взаимодействия или при необходимости дополнительной производительности. То есть. String.CopyTo () использует небезопасные и фиксированные в своей реализации.