У меня очень быстрый цикл, который визуализирует анимацию в буфере растровых изображений и добавляет к нему фильтр (используя LockBits / UnlockBits для доступа к необработанным данным и изменениям Marshaling.) В независимом потоке.
Я хотел выяснить способ отображения рендера на форме в режиме реального времени, поэтому я создал PictureBox и связал его изображение с созданным растровым изображением. Каждый раз, сразу после разблокировки растрового изображения, я обновлял PictureBox (используя делегат для выполнения многопоточности), чтобы рендеринг обновлялся правильно.
Это совершенно нормально и работает очень быстро, но возникла одна большая проблема, когда я попытался перетащить форму на границу экрана, чтобы посмотреть, не появится ли какая-либо ошибка, и, к сожалению, приложение рухнет ... говоря 'растровое изображение блокируется 'Это происходит, когда либо другое окно движется над PictureBox, либо PictureBox частично перетаскивается из экрана. Я подозреваю это, потому что PictureBox может обновить себя, когда перерисовка необходима, и это происходит, когда растровое изображение все еще заблокировано. Так ... любой способ решить эту проблему? Или еще какие-нибудь способы сделать мою анимацию лучше?