Один из подходов заключается в рендеринге всех маленьких растровых изображений в растровое изображение ersatz , которое будет просто двумерным массивом int
(что в любом случае является Bitmap
) , Как только все маленькие растровые изображения объединены в большой массив, вы делаете одноразовую копию из большого массива в реальный Bitmap
того же размера.
Я использую этот подход (не включая многопоточный аспект) все время для сложной графики на устройствах Windows Mobile, поскольку объем памяти, доступной для создания «настоящих» битовых карт GDI +, строго ограничен.
Вы также можете просто использовать Bitmap
, как вы изначально планировали. Bitmap
не гарантируется поточно-ориентированным, но я не уверен, что это будет проблемой, если вы можете быть уверены, что никакие два потока никогда не перезаписывают одну и ту же часть растрового изображения. Я бы попробовал, по крайней мере.
Обновление: Я только что перечитал ваш вопрос и понял, что вы, вероятно, не увидите значительного (если вообще) улучшения общей скорости этих операций, сделав их многопоточными , Это классическая проблема «девять женщин не может завести ребенка в месяц».