Если вы имеете дело с большим изображением и большим количеством данных, я бы предложил следующее:
- отрисовка / отображение того, на что смотрит пользователь в данный момент
- отрисовка остальной части, если вфоновый поток в изображение памяти
После того, как все изображение будет отображено на изображении, сохраненном в памяти, любая прокрутка и / или масштабирование будут просто размещать окно отображения.
Рендеринг вашего изображения в увеличенном масштабе в растровое изображение.Когда вам нужно отобразить часть if, используйте Bitmap.Clone, чтобы скопировать часть этого растрового изображения в изображение, отображаемое для пользователя.Немного трудной частью будет визуализация части вашего базового растрового изображения, которое в данный момент требуется для просмотра.
Это может потребовать памяти.Это эффективный механизм кэширования, и, как всегда, в таких случаях вы получаете скорость, используя больше памяти.
Что-то похожее на работу карт Google.