@Konditoren
Controls will make your app more manageable and easier to change, but they will not necessarily change load times. Technically, under the covers, the resultant screens generated will have the same instances as without a control.
However, the above statement about manageability and ease of change is a definite plus for components!
But, are you actually dealing with so many controls in your app that you feel that it is the performance issue? If so, then I would consider changing the amount of controls you have and consolidating into better ways - like if you have a long line of buttons, consider putting a single gallery with a single button in it and then have the gallery action determine the button action.
Usually, performance issues on load are almost always attributed to datasources. If you are using collections to collect a full data source (or even just a variable) then you will suffer a lot of performance issues. Those should be removed and refactored. Likewise, if you are making lots of "trips" to the datasource in the start of the app, then that should be refactored. And finally, keep in mind that when an app starts, it renders the controls on the screen. If those controls have properties in them that are data intensive, then those should be refactored as well.
You can definitely use the Monitor tool as @AmeerJab mentioned to get a better idea on what is consuming the time as well.
I hope this is helpful for you.