1. Переходи на блитцмакс

2. Сам цикл с большим числом проходов напрягающ для слабых тачек.
Извлечение корня выкинуть можно, оперируя везде квадратами расстояний.
На счёт занимания массивом слишком большого объёма памяти: где у тебя хранятся экземпляры тайлов? в списке. а что такое список? это хрень, состоящая из узлов, каждый из которых хранит
указатель на данные и на следующие за ними данные.
А в массиве что хранится? те же самые указатели.
Так что жрать памяти должно примерно одинаково (поправьте знающие люди, если не прав), но работать с массивами в разы удобнее.
3. R1 R2 для размеров экрана не информативно (для меня)
4. Для поля 1000х1000 твоя прога заняла 42 мб оперативки.