# Tips & trick to decrease startup loading time in perspective

**URL:** <https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384>\
**Category:** Ignition Early Access\
**Created:** [April 25, 2019, 9:33am UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384 "2019-04-25T09:33:03Z")\
**Posts on this page:** 9\
**Page:** 2

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [September 14, 2022, 2:07pm UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/21 "2022-09-14T14:07:36Z")

</div>

Honestly even without nested embeded views it takes way to long.  
We tried to make a warehouse with a whole bunch of instances, but it just took so long and idk why.  
I made a custom module (which is basically the tempalte + the repeater) which is instant.

---

<div class="post-metadata">

**Author:** ![Adriaan.leRoux](https://avatars.discourse-cdn.com/v4/letter/a/bbce88/32.png) [@Adriaan.leRoux](https://forum.inductiveautomation.com/u/Adriaan.leRoux)\
**Post date:** [September 15, 2022, 5:26am UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/22 "2022-09-15T05:26:59Z")

</div>

For Sure! My understanding of loading “With-Parent” was just that they will load at the same time, in other words you’ll see your Motor display appear, with all of it’s nested views, at the same time. Like it is waiting for all of it to load before displaying any of it, if that makes sense.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [September 16, 2022, 4:42am UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/23 "2022-09-16T04:42:15Z")

</div>

How many instances you have?  
Do you use too many pipeline in your view too? If yes change them to svg.  
If you use flex in container in your embedded view change them to xy coordinate  
Can you share a gif video of your loading time?

For me as I have 150 complex embedded view the performance is good.  
For simpler embedded view I can up to 500.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [September 16, 2022, 7:04am UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/24 "2022-09-16T07:04:36Z")

</div>

This post has my gif in it:

> [@Tips & trick to decrease startup loading time in perspective](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/16):
>
> All of my embedded Views were all set to after-parent. I’ve changed them all (including all nested one as well) to with-parent and the results are below. No nested EVs: 1,490ms Nested EVs using with-parent: 12,120ms Times calculated from gif frame durations. No nested EVs [Perspective Tank Farm Load Time - Test 02p - No Nested EVs] Nested EVs using with-parent [Perspective Tank Farm Load Time - Test 02bp - Nested EVs load with-parent] Just note: the nested EV versions were designed for b…

I have 35 EVs on the page with a max nest level of 4  
I don't have any pipes  
The symbol templates are a bit interesting... I created them as flex Views thinking that I would use flex for something later, and then embedded a coord container within it which ended up being the only component inside of the flex, with everything else inside the coord container. I've always been interested in comparing the load speed if I converted them all to coord Views instead.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [September 16, 2022, 7:47am UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/25 "2022-09-16T07:47:11Z")

</div>

In my experience it should be better if you use XY container so do it now.  
And I always try to not go further than 2 level for repeating widget like this.

As I see your design it can be easily done with one level EV.  
For the sake of the Object oriented design instead of using EV use CSS class Object oriented concept with python functions every where possible. So you can have a widget with one level of nesting.  
For example I create a widget all in SVG and try to add different CSS binding by custom property and for event use function. So if I decide to change function I change CSS and python function.  
Even I don’t wrap it in a view and directly use in my parent view.  
This approach you can reach more than 2000 obj easily.

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [September 16, 2022, 3:47pm UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/26 "2022-09-16T15:47:11Z")

</div>

> [@nader.chinichian](#):
>
> As I see your design it can be easily done with one level EV.  
> For the sake of the Object oriented design instead of using EV use CSS class Object oriented concept with python functions every where possible. So you can have a widget with one level of nesting.

That's all great information, I've always wondered how you managed to make your displays so performant.

I think though that the point is, you shouldn't have to be forced into designing a particular way to gain 12 secs on load time. The load times should be similar for all technologies, and if there is some under the hood reasons why some containers are less performant, and you want to avoid that by optimizing that's a choice you can make.

I think it's generally understood that deeply nested EV's will be less performant, how could they not be, but 12 seconds is a long time.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [September 16, 2022, 8:47pm UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/27 "2022-09-16T20:47:24Z")

</div>

> [@lrose](#):
>
> think it’s generally understood that deeply nested EV’s will be less performant, how could they not be

Theyre not in Vision though, unless you are specifically talking about web tech

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 16, 2022, 8:57pm UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/28 "2022-09-16T20:57:28Z")

</div>

> [@nminchin](#):
>
> Theyre not in Vision though

Not a fair comparison. Vision's bindings and change events run in the client. Minimal gateway traffic to hold things up (unless you screw up with foreground callouts). And minimal per-client load on the gateway (also unless you screw up).

Vision is fundamentally faster than Perspective. Hopefully, a future with WebAssembly changes that.

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [September 16, 2022, 9:32pm UTC](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384/29 "2022-09-16T21:32:07Z")

</div>

> [@nminchin](#):
>
> Theyre not in Vision though, unless you are specifically talking about web tech

Even in Vision, I bet there is a hit for using a template over not using it, jut not a noticeable one, unless of course the windows are all pre-compiled before being loaded to the client. . After all IA has had years to optimize Vision even after it was a mature product and perspective is still fairly new.

Either way, I was speaking specifically about Perspective. I wouldn't expect there to be a noticeable difference between an EV loading in a Coordinate container as compared to an EV loading in a Flex Container.

[Previous page](https://forum.inductiveautomation.com/t/tips-trick-to-decrease-startup-loading-time-in-perspective/24384.md?page=1)
