Gui: карта в виде редактируемой матрицы

Нужно сделать визуализацию поиска кратчайшего пути в матрице. Нашёл такой проект https://qiao.github.io/PathFinding.js/visual/ , хочу сделать аналог.

Для рисования выбрал conrod с glium и winit.

Взял за основу код из примера https://github.com/PistonDevelopers/conrod/blob/master/examples/canvas.rs , сделал отрисовку карты, но изменения на карте (добавление стен и перетаскивание начала и конца пути) происходят очень медленно, такое впечатление, что мне нужно как-то игнорировать часть событий, но я не понимаю как.

Проект залит сюда https://github.com/vessd/shortest_path , весь код отвечающий за отрисовку сейчас находится в main.rs

Буду рад советам по решению проблемы вплоть до перехода на другую библиотеку для рисования gui.

Выкачал и собрал с --release, вроде рисование препятствий и перетаскивание точек старта-конца вполне себе быстро происходит. Правильно воспроизвожу или еще что-то надо сделать?

2 лайка

Мдам, у меня даже мысли не возникло, что debug и release будут так отличаться. Спасибо за подсказку.

Да, это известная проблема. Из-за этого еще много кто ждет, когда в cargo уже завезут возможность собирать релизные зависимости, но отладочный код разрабатываемого приложения.