Сразу начну с вопроса, а потом расскажу про историю:
Кто поможет понять, почему в цикле на 144-182 строке программа ИНОГДА вылетает с ошибкой, которая связана с {$omp parallel for} ? я же вроде убрал всё, что может конфликтовать, а остальное пометил как критическую секцию... https://gitlab.com/Roman.Svetlov/pic-to-acii/-/blob/master/main
История: два года назад я подумал, что будет круто написать прогу, которая будет пропускать картинку через ascii фильтр. Из-за проблем со шрифтами и совместимостью я сделал вывод в виде картинки, а не настоящего ascii арта. Но прога работала медленно. Очень медленно. А вчера я наткнулся на неё, и изрядно оптимизировал.
Изрядно - это насколько? Скажем так, первая версия обрабатывала картинку 69 секунд + ~10? секунд первичной обработки.
Новая версия обрабатывает ту же самую картинку за 6 секунд полностью. В 13-14 раз быстрее.
Но есть один недостаток: таинственная ошибка из начала поста. Помогите.
Для тех, кто хочет пощупать прогу:
качаете по ссылке экзешник, картинку и текстовик, кладёте их в 1 папку, кидаете туда же свою картинку, запускаете прогу.
Настройки в текстовике:
1. имя исходной картинки вместе с расширением
2. имя картинки, которая создастся после обработки
3. Первая строка
4. Последняя строка
5. Первый столбец
6. Последний столбец - это рамки прямоугольника ascii таблицы (в символах. Размер таблицы 0..15, 0..15 символов), из которого будут браться символы. По умолчанию используется вся таблица.
И Луна, но нарисованная только буквами своего имени