How to optimize graphics performance index?

Hi experts,

A customer contacted me and said he met a graphics performance index warning in System Platform.

He mentioned there are still a lot of elements need to be added in this Symbol, and asked help for me to solve this issue.

I searched the support website and didn't find a way to optimize the performance index.

Any suggestions will be appreciated.

  • Lets see if someone from Aveva has some guidelines, but as a general rule you gain performance by grouping elements, also try to keep static and animated elements grouped independently if possible, also try to avoid imported images, bitmaps are worse than jpeg, png.

    Avoid extensive use of gradients

    Review the amount of embedded symbols, to many levels of embedded symbols and especially large symbols that have been reduced in size can have some effects.

    Also, have a look at the details, it should also give you an indication on what's impacting the score.

  • I used to teach this a whole section on this during my days at Q-mation....

    1) Avoid using graphics and animations that are too bulky with next to no visual value.  White gradients to create gloss look good, but if they are real small, they mean nothing.   A great example is the yellow triangle symbols in the symbol library.  All the shadows and gloss disappear at small sizes, but all take up time to render.

    2) Another example -  I see you're using the default pump from the graphic library.  That animation and the way it is built is crazy.  If you open it up and explode it, there's like 15 little fans underneath that fan.  All run by a script that runs in the InTouch on the fly.  It turns and looks cool, but does it actually provide anything for the processing cost?  

    3) Grouping elements that do NOT have animations together will render them as a single drawing element at runtime (even though they are still individuals!) - this speeds up the time.  Grouping animated things helps for organization, but does not affect the rendering time much.

    4) If you have a lot of scripting and expressions in your graphic, that can affect it as well.  If you're using system platform, those scripts may be better served in the object, and the result shown as an attribute or a custom property. 

    5) the more embedded attributes and custom properties you have, the more it's going to weigh down a graphic.  Perfect example of this is the Symbol Library pipe - each pipe you lay down has three custom properties.  Lay down 100 pipes you have 300 properties you're barely using. 

    6) The more hidden things you add to a graphic, the more of a performance hit you're going to take.  If you have a graphic that you've got say, 4 text items around a valve, so you can use a property to set where the text shows on a screen, you're still rendering 4 text items and hiding them every time.  A better option is to use symbol wizards to set that kind of thing.

    My suggestion?  INstead of using the Symbol Library try taking a look at the Situational Awareness Library instead.  Much more scaled down, and the symbol wizard options minimize the number of excess custom properties.

    Hope this helps!

    Phil

  • Appreciated for your suggestion ,and it's very useful for me.