Я сомневаюсь в этом, но bitwise not
может быть быстрее, чем 255-н
uint newR = (sourceR * pixelCanvasAlpha + surfaceR * (uint)(byte)~pixelCanvasAlpha) >> 8;
или
uint newR = (sourceR * pixelCanvasAlpha + surfaceR * ~pixelCanvasAlpha & 0x000000FF) >> 8;
Единственный способ узнать - это сравнительный тест.