When dealing with components of important dimensions the best practice is to try and implement lazy loading techniques or, as Estus Flask pointed out, using AsyncComponents.
Using the following portion of code allows you to load a component as soon as possible so rendering time is not directly affected by the internet connection.
import { defineAsyncComponent } from 'vue'
const AsyncComp = defineAsyncComponent(() =>
import('./components/MyComponent.vue')
)
Of course it might still happen the internet connection is so poor that the user will experience excessive loading time.
More infos at https://vuejs.org/guide/components/async.
To improve the user experience ui/ux best practices suggest also to use spinners or skeletons (https://learnvue.co/articles/vue-skeleton-loading), as kissu pointed out in his comment.