# Perspective view taking too long to load

**URL:** <https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [September 10, 2025, 7:32am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508 "2025-09-10T07:32:47Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 10, 2025, 7:32am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/1 "2025-09-10T07:32:47Z")

</div>

Hi,

I have a views with table component and named query(stored procedure) has bind to data property with 1sec polling rate.

Screen is taking too much time to load, I think it is because of 1 sec polling rate.

How I can avoid the use of polling rate here?

table data is updating frequently from other screens, mainly status column is updating, so to populate that I have used polling rate 1 sec.

Is there any other option instead of polling rate?

Thanks!

---

<div class="post-metadata">

**Author:** ![Cose\_Peter1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cose_peter1/32/79174_2.png) [@Cose\_Peter1](https://forum.inductiveautomation.com/u/Cose_Peter1)\
**Post date:** [September 10, 2025, 10:56am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/2 "2025-09-10T10:56:30Z")

</div>

If it's getting updated on the same session, then you can create a message handler that does **refreshBinding** when the update is done.

---

<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 10, 2025, 11:57am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/3 "2025-09-10T11:57:59Z")

</div>

So the status column data is coming from an SQL table?

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 10, 2025, 2:13pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/4 "2025-09-10T14:13:54Z")

</div>

yes

---

<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 10, 2025, 2:23pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/5 "2025-09-10T14:23:03Z")

</div>

All of the updates are from inputs to Ignition UIs? If so, have those UIs broadcast their update IDs after their DB operation succeeds. Have your overview listen for these broadcasts and refresh the table binding on demand.

Also, make sure your DB can actually deliver the requested data in a few milliseconds. Get a DBA to analyze your tables/queries to optimize them if you cannot do so yourself. (It is unreasonable to expect 1-second updates for queries that take longer.)

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 10, 2025, 3:43pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/6 "2025-09-10T15:43:40Z")

</div>

Thanks all of you!!!

I will try these solutions.

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 16, 2025, 9:15am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/7 "2025-09-16T09:15:15Z")

</div>

Hi,

I have added the message handler on all the places from where status is updaing.

from button events it is updating as expected.

but when I am calling message handler from project library script, it is not updating.

I have 2 project ..the screen which I want to update is in parent project and it is inherited in child and script library functions is in child project.

I am calling message handler in script library where the status are updating.

will it work?

Thanks!!!

---

<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, 2025, 2:06pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/8 "2025-09-16T14:06:27Z")

</div>

> [@Anita.Shinde](#):
>
> from project library script, it is not updating

The project library is not an independent scope. It's scope is the scope of the original event that calls into it. What scope is calling the project library when it fails? (That will be your answer.)

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 16, 2025, 3:33pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/9 "2025-09-16T15:33:48Z")

</div>

I am calling in session scope like below in script library function of child project.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/f/af8373e5a0294568eedc702c1710b7e3f5e31a63.png)

This is the handler on view, it is just for refreshing the table bindings.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/4/a478f67b5286dc62feaaa357e68e115e5f3aa7bd.png)

---

<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 17, 2025, 3:28am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/10 "2025-09-17T03:28:56Z")

</div>

> [@Anita.Shinde](#):
>
> session scope like below

That doesn't show how that project library is called. So no, that doesn't definitively show session scope.

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 17, 2025, 5:56am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/11 "2025-09-17T05:56:17Z")

</div>

That project library is called in gateway events tag change script.

---

<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 17, 2025, 11:34am UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/12 "2025-09-17T11:34:01Z")

</div>

> [@Anita.Shinde](#):
>
> gateway events tag change script.

Then it is Pure Gateway Scope, and not Session scope. I'm not sure that `system.perspective.sendMessage()` will work here.

I would default to `system.util.sendMessage()`

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 17, 2025, 12:09pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/13 "2025-09-17T12:09:10Z")

</div>

what should be the projrct name in system.util.sendMessage()?(parent or child project)

I want to refresh the view which is inherited in child project and project library script also in child project.

showing below error when I am passing parent project name

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/1/a172ea14fe2c9af6c85807a2364b031015bda77a.png)

and this is error when child project name is given

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/f/ef198895646cab6ce58d7b2687d8b755240c65bc.png)

---

<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 17, 2025, 1:55pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/14 "2025-09-17T13:55:34Z")

</div>

It should be the project where the message handler is located.

Make sure that the name you used for the message handler matches exactly.

Also insure that you have saved the project after adding the handler.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [September 17, 2025, 2:04pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/15 "2025-09-17T14:04:28Z")

</div>

Couldn't the project name be automatatically generated using [system.util.getProjectName | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-util/system-util-getProjectName)?

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 17, 2025, 2:05pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/16 "2025-09-17T14:05:59Z")

</div>

message handler located in parent project and I want to call that in child.

I tried with both name but not working.

Its already saved.

As I am calling message handler in child, If I use system.util.getProjectName(), it will return child name.

---

<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 17, 2025, 2:15pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/17 "2025-09-17T14:15:52Z")

</div>

The project name should be the name of the project where the message handler is located. The message handler will be running in the child project so that project name should be used.

---

<div class="post-metadata">

**Author:** ![Anita.Shinde](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Post date:** [September 17, 2025, 3:03pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/18 "2025-09-17T15:03:09Z")

</div>

No still not working, I am calling like below inscript library of child project.

showing same error, message handler could not found.

anything wrong in this  
system.util.sendMessage(system.util.getProjectName(),'RefreshList',scope='G')

---

<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 17, 2025, 3:36pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/19 "2025-09-17T15:36:39Z")

</div>

Yes, you are not sending the message to 'Session' scope.

```python
system.util.sendMessage(system.util.getProjectName(),'RefreshList')

```

or

```python
system.util.sendMessage(system.util.getProjectName(),'RefreshList',scope='S')

```

Also, I just caught this:

> [@Anita.Shinde](#):
>
> message handler located in parent project

message handlers should not be in inheritable projects, they should be located in the project you are actually running.

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [September 17, 2025, 3:46pm UTC](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508/20 "2025-09-17T15:46:47Z")

</div>

It should be noted that if you are using `system.util.sendMessage`, your perspective message handler will need to re-broadcast the received message or broadcast a different message with `system.perspective.sendMessage` for any open views in a session to receive a message.

The `system.perspective.sendMessage` call in the perspective message handler will only work with a scope of `session`

Component and view message handlers will not receive messages from a `system.util.sendMessage` call.

[Next page](https://forum.inductiveautomation.com/t/perspective-view-taking-too-long-to-load/110508.md?page=2)
