I'm writing a WPF project which needs to display a 12x12 grid containing a kind of ticket object.
Each ticket is named Ticket1, Ticket2, Ticket3, etc so i can reference them from code.

This ticket object has to contain approximately 50 subcomponents, mainly textblocks and paths. Each one of these subcomponents is named as well. The ticket is a user control.

The equipment that we are going to be using this project on is using an Atom processor and integrated graphics. Not ideal I know.

I am noticing that the InitialiseComponent function for each of these grids is taking approximately 20-30 seconds to execute which is well above the 1 second limit we require. I did a bit more drilling down and found that LoadComponent in the .cs file was causing this slowdown.

I thought that possibly generating the tickets in the c# code would improve the start up time however this in fact had the opposite effect and increased the start up time to over a minute.

My question are:

1) What can cause InitialiseComponent/LoadComponent to perform so poorly.
2) What can be done to improve this performance?