Дмитрий Д.
думаю поиграться с setMaxHeight(), setMaxWidth(), и ограничить размер, но как открыть в полном объеме?
Дня начала, пробуйте отрисовывать на канву по блокам. Открыли кусочек - отрисовалии т.д. Если канва не загнётся от такого количества отрисовки, может этого Вам и будет достаточно