CUDA это на порядок сложнее, чем запустить функцию в несколько потоков. Здесь совсем другая парадигма программирования, нужно мыслить не функциями, а блоками, тредами и их индексами. Надо разделять где глобальная память, а где память треда. Надо всегда учитывать блочное копирование данных, а не абы как. Не забывать про синхронизацию в варпе, а не искать потом баги.
Написать код по тостеру конечно вероятность имеется, но он явно не будет скоростной как вам хочется. С наскока ничего не выйдет, как минимум нужно прочитать документацию, а как максимум попробовать каждый пример из неё.
Роман Андреевич, Берёшь максимальный bbox который описывает многоугольник, по нему делаешь равномерную сетку с нужным шагом и каждую точку проверяешь на вхождение в свой многоугольник.
Если эти "двигающиеся метки" отображают машинки, то можете сразу не мучиться, такие сервисы на 2Г делать нельзя.
А так я не вижу в чём у вас сложность двигать метку по координатам?
И хотя pfg21, ответил про общий принцип, Крым приходится закостыливать, и из двух подходящих контуров выбрать один правильный могут теги с RU в значениях. Никто из глобального мира с этим не заморачивается и рандомно выбирается один из двух. Если же буржуи заморочились, то вы знаете кому они подсунут Крым.
ThunderCat, Зависит от плотности, если у вас по одному офису на город, то маршруты не особо нужны. Потом стоит прикинуть во сколько обойдётся построение матрицы расстояний, и может оказаться, что дешевле показать пользователю три ближайших, а там он уже сам решит где ему через мост не удобно.
PlayerPref
в вашем распоряжении.