Собственно почему vuex не подходит для огромного числа коммитов?
Потому что при
каждом комите Vue проходится по всем зависимостям, пересчитывает их, пересчитывает состояния всех компонентов, изменяет DOM где это нужно. А это всё блокирующие операции.
Лучше используйте
EventBus : транслируйте разыне события, не просто "drag" но и "dragstart" и "dragend". Передавайте с событиями нужные координаты. И создавайте компоненты-подписчики на нужные события.
Отдельно можете добавить
тротлинг. Не большой, буквально до 100 миллисекунд. Уже это
существенно уменьшит количество комитов, а интерфейс останется таким же "мгновенным"