Для оценки производительности алгоритма заполнения многоугольника с затравкой можно измерить временные затраты на его выполнение, так как этот алгоритм медленный и расходует много памяти для стека. 6
Замену стеку найти сложно, так как это удобная и ясная конструкция, которая используется в данном алгоритме. 1 Однако есть несколько способов повысить эффективность алгоритма:
- Предварительно упорядочить рёбра многоугольника в порядке возрастания наибольшей из ординат концов. 2 При перемещении сканирующей прямой сверху вниз проверке на пересечение подвергаются лишь те рёбра, у которых значение максимальной ординаты больше ординаты сканирующей прямой. 2
- Поместить многоугольник внутрь минимального объёмлющего прямоугольника со сторонами, параллельными осям координат, и анализировать лишь те точки, которые попали внутрь прямоугольника. 2
- Воспользоваться пространственной когерентностью. 8 Характеристики пикселов на данной строке изменяются только там, где ребро многоугольника пересекает строку. 8 Эти пересечения делят строку на части, и их необходимо отсортировать в возрастающей последовательности. 8
Также для повышения эффективности алгоритма можно упростить его, если многоугольник является выпуклым: границу выпуклого многоугольника можно разбить на две ломаные и, возможно, два ребра, и каждая из боковых ломаных имеет ровно одно пересечение с каждой сканирующей прямой. 2