2015-06-02 1 views
1

несколько месяцев назад я построил сетку A * для игры в RTS. Я применил базовую оптимизацию, используя HashSets и эвристику, и еще довольно скоро я буду стремиться оптимизировать ее, поскольку она имеет тенденцию замедляться, когда несколько блоков запрашивают путь одновременно..NET A * Оптимизация маршрутизации, сериализация?

В любом случае, я заметил, что система A * Арона Гранберга имеет класс сериализации для данных графа, а мой график - это просто двумерный массив класса Node (Node), содержащий различные данные, например, если он доступен или нет. Я предполагаю, что эта сериализация предназначена для сохранения/загрузки графиков, хотя я могу каким-то образом использовать сериализацию для дальнейшего улучшения моего пути? Или, может быть, есть некоторые другие методы оптимизации, в которые я могу начать копаться?

ответ

2

Вы правы. Сериализация предназначена только для загрузки/сохранения графиков в/из файлов, чтобы вы могли предварительно обработать их до выполнения.

Я не знаю, какую реализацию A * вы используете. Но для оптимизации производительности вы можете посмотреть here и here

+0

Хорошо, круто. Эти ссылки были очень полезны, закончились тем, что проводили день, читая и переписывая мою систему A *, которая, кажется, работает лучше. Излишне говорить, что код намного чище, я буду в дальнейшем оптимизировать и модифицировать с легкостью. Спасибо за ответ! – Crayz

 Смежные вопросы

  • Нет связанных вопросов^_^