В дополнение к отличному совету Guffa, я бы посоветовал вам профилировать свой код, чтобы увидеть, на что это уходит.Убедитесь, что когда вы синхронизируете это, вы работаете в режиме выпуска без отладчика.
Я не удивлюсь, если вызов к DrawImage
будет занимать большую часть времени.Вы масштабируете изображение там, что может быть довольно дорого.Насколько велика коробка, в которую вы рисуете изображение?
Наконец, хотя это не повлияет на производительность, вы должны изменить код так:
using (Graphics g = _box.CreateGraphics())
{
g.InterpolationMode = InterpolationMode.NearestNeighbor;
g.DrawImage(bmp, 0, 0, _box.Width, _box.Height);
}
И избавьтесьпервой и последней строк в вашем примере.