"Реальной многопоточности в питоне судя по всему нет
так что вариант один: оптимизировать отрисовку"
В результате использовал qthread. Писал в vs code, и последний не смог ни увидеть 2 поток, ни остановится на брейкпоинте, даже не уверен что остановился 2 поток когда была нажата пауза. Я так понимаю, что vs code работает через pgb, и что бы окончательно понять, что у pyqt5 свои потоки нужно использовать gdb(да,так тоже можно)
Так или иначе проблема была решена.