Мультизадачность или потоки: возможно такое в браузере?
Web Workers предоставляют простое средство для запуска скриптов в фоновом потоке. Поток Worker'а может выполнять задачи без вмешательства в пользовательский интерфейс. К тому же, они могут осуществлять ввод/вывод, используя XMLHttpRequest (хотя атрибуты responseXML и channel всегда будут равны null). Существующий Worker может отсылать сообщения в JavaScript код, который его создал, отправляя сообщения в обработчик событий, указанный этим кодом (и наоборот).
https://developer.mozilla.org/ru/docs/DOM/Using_we...
разбейте задачу на небольшие части, например вырезание по одному куску, и запускайте их по очереди через setTimeout(0).  браузер будет успевать отвечать и перерисовываться за это время.