Project screenshots - share yours

Amazing Nader! I think this might be the best SCADA application I have ever seen.

I got to say that the responsiveness of Perspective is mind blowing. All that different content just showing instantaneously…

2 Likes

I have to wonder if this is video editing magic, as I have screens that are half as complicated as this that take a few seconds, sometimes more, to load!

3 Likes

I’m right there with you. I haven’t updated to the 8.1 so I’m not sure if that plays a factor, but the stuff I’ve developed is nowhere near that responsive :frowning:

2 Likes

U guys might be right :frowning:

1 Like

Lincoln was way ahead of his time, talking about the internet back in the 1860’s!

I’m using 8.1.0, haven’t tried the later versions but from what I know there haven’t been any major strides YET

1 Like

Thank you. These are my tricks:
1 - The client PC is 8 gen i5 with 8 GB RAM. not running with the gateway at the same time.
2 - I use embedded view wisely. Never use two nested embedded views.
3 - I draw my SVG with every low detail. Even I edit the imported SVG in perspective to make them faster. Sometimes I edit XML code.
4 - For Items which are simple and use a lot in a project like navigation button, don’t use an embedded view and just put all object in a container and re-use it.
5 - Use 8.1. it is much faster than the 8.0 version regards embedded view.
6 - for complex pages, draw whole piping in drawing tools and use it as background and just overlay devices on it. (like a valve, pump)
7 - use the dynamic numbers for your return query base on the time range. For example for sparkling the default time range for loading pages is only 1 hr with only 50 points.
8 - some of the animations and object is just pure label component and I use a lot of css3 code to make it animate. For example all bars.
*** 9 - This is my final and most important trick that saves me:
Only try to use XY coordinate container for your embedded view. The loading speed is much better than flex, If you have solid web dev knowledge you use simply remake flex behaviour in XY container. I even manage to make my P&ID symbol full responsive that is not possible with flex.

From starting of Perspective there is no one like me that always complain about embedded view loading problem. (as you can see in the forum). And because of that problem, I had to edit my project a lot and it took about 6 months to complete. For example, all of my popup objects is a native perspective object and not the embedded view which is not optimise for engineering but necessary for performance.

26 Likes

Thanks for providing some key performance “tricks”! I did not even know about the nested embedding slowness, good to know!

In overall it seems like having high performance is a project cost. How big percentage of the final content would you say is view based, compared to “reused” containers.

Number 8: You mean that instead of using analog indicators you use labels with dynamic size?

Number 9: Do you mean only use XY container when drawing symbols? Or do you mean use XY as much as possible in general? (for embedded views)

Yes exactly if you can bear repeatitive and boring engineering task you gain good performance in perspective. And your engineering cost is increase.
In general engineering cost in perspective is too higher than vision because of super slow design environment. Specially a simple nested object to select.
8. I mean you make almost every thing by using label components. Just need to know css3. For example pipeline, circle, button, process bar,…
9. With xy you can do any thing and even more than flex. For performance you have to avoid flex in embedded view for now. May in future every thing changed

5 Likes

I forget to add one more thing for performance.
Avoid defining two many dock view. It cost you some delay in startup of session.
Instead define a base dock and in that dock call a embedded view object that show your actual view.
So each time you call dock you have to pass viewpath as param.

3 Likes

Out of curiosity, what’s the gateway specs for the demo you posted?

32 GB RAM
8 threads
SSD
The SSD is really really important for the query. The RAM is important for generating reports for me.

3 Likes

Well that explains it. I’ve even seen your complaints on the topic but never checked to see how much a difference not using them made. Fantastic work!

2 Likes

So far I have only done projects with vision. to do advanced projects in perspective, do i have to know how to program in css/html5? or is it not very necessary?
thanks

1 Like

The css3 is like knowing Java swing in vision. For example consider changing the border line of chart which is not available as property in component in vision so you have to know it’s Java class method to make it happen. This is same in css for Perspective specially for nice animations.
My advice learn just css3 not html5.

1 Like

If you want custom drawing, I would also say know how to use Inkscape (or SVG) as the editor in Perspective (does not exits) is not as good as the one in Vision

@nader.chinichian how did you accomplish this?
image

I’m assuming you’re using a popup, but is the arrow inside of the popup, or are you simply displaying the arrow when the button is pressed?

Edit: Nevermind… I’m an idiot. It’s just a “one shot button”

I used Inkscape back in Vision as well, as even in Vision the drawing tools are lacking

I did some tests with some of the things you (and Travis Cox over the phone a few weeks ago) mentioned, and here’s what I found.

All components have a single binding to a memory tag that changes the colour of the label’s border.

Using no embedded views certainly massively increases the speed of load!

From start to finish:

  1. Starts with flat labels, no EVs already loaded
  2. 1024 embedded flex views with label component.
    image
  3. 1024 embedded flex views which have a single embedded flex view within them with a label component.
    image
    Embeds the view in (2)
  4. 1024 embedded coord views which have a single embedded flex view within them with a label component.
    image
    Embeds the view in (2)
  5. 1024 label components directly in the view

Despite the massive increase in performance, this method is at a significant detriment to the maintainability and effort of developing and editing the project. For something that will eventually be solved, I can’t imagine that this toll is worth the short term gain…

3 Likes

On another note, we’re slowing converting over our vision screens at a customer of ours across to Perspective. In the meantime, we are running Vision with our Perspective screens embedded into a page with a web browser component. The double login is a bit average and the performance issues are also pretty average at the moment, but the quality of actual render is outstanding in Perspective - very crisp (to be expected from a true vector environment). Superior to Vision.

I really need to replace that old default login section at the top right…

5 Likes

You can achieve same exact quality in vision because it’s vector base. Just remember to not scale your window (like perspective that doesn’t have any scaling)
For your test as I told you try to divided your processing in several pages so you lower the number of embedded view. And try to use direct object for pipes and other decoration as much as possible. Any constant object like hand value can be object Not embedded view.
I know it’s not ideal for our developer but it is what it is.
This is the problem of using Java even when you don’t use embedded view the cpu and memory usage of perspective is high compare to others. Even in vision the performance of ignition is always lower than other SCADA packages.
If you try webFactory, myscada or factory studio from tatsoft you get what I mean.
In the technical point of view I dont understand why it is difficult to have some wizard option to import html5/javascript component which is made already before import into the perspective and access to their properties in perspective. All other SCADA software do that.