Здравствуйте, dmitry_npi, Вы писали:
_>Была у меня функция, выводящая полилинии, алгоритм примерно такой:
_>Опытным путем я выяснил, что огромное количество полилиний рисуется всего несколькими видами перьев. _>Поэтому я, с целью сократить количество вызовов PolyPolyline(), сгруппировал данные по перьям. Теперь PolyPolyline, вместо несколько тысяч раз, вызывается десяток раз, но с большим объемом данных.
_>Результат меня удивил — стало в 5 раз медленнее. Причем я измерил — это не накладные расходы на группировку. _>В чем тут подвох?
а ты не замерял точное время, которое занимает вызов? было бы интерестно посмотреть как оно зависит от количества точек/полилиний (линейно? как степенная функция?).
похоже на то, что там используется какой-то алгоритм с полным перебором точек например.
кроме того, насколько я понимаю, эта функция может зависеть от видеодрайвера. интерестно было бы проверить на машинах с разными видяхами. так же будет скорость проседать?