В моей программе есть возможность экспортировать изображение высокого разрешения рабочего холста на диск. Пользователи будут часто пытаться экспортировать изображения размером около 20 000 x 10000 пикселей при 32bpp, что составляет около 800 МБ. Добавьте это к серьезному потреблению памяти, которое уже происходит в вашей обычной программе 3D CAD, и вы в значительной степени гарантируете сбой нехватки памяти на 32-битных платформах.
Итак, теперь я экспортирую плитки размером 1000x1000 пикселей, которые пользователь должен затем сшивать вместе в редакторе пикселей. Есть ли способ, которым я могу решить эту проблему, если пользователь не выполняет какую-либо работу?
Я подумал, что мог бы написать небольшой exe-файл, который вставлялся бы в процесс в командной строке и выполнял сшивание автоматически. Это будет отдельный процесс, и он будет иметь 2 Гб оперативной памяти. Или есть еще лучший способ? Я бы хотел поддерживать jpg, png и bmp, поэтому запись образа на диск в качестве байтового потока на самом деле невозможна.