Forum Discussion

Harald_Korneliussen's avatar
7 months ago

TreeGridView performance

We have "changes" tab to list, in a tree grid view, the change objects which have gone through on a given Part.

However, loading this tab is terribly slow.

I have found out that the query itself is quite fast. When I run it in the query editor, it takes less than a second. However, the Tree Grid View can take almost 20 seconds to load. Even on a fresh part with no change items, it takes 15+ seconds.

The call which takes time is an odata call to /Server/odata/method.rb_GetTreeGridData, which takes the entire 2500+ line rb_TreeGridViewDefinition as input (why? It's a server side method, although a very odd one I can't see the implementation of, and the data it gets passed lives on the server too!)

Have anyone had any success in optimizing the loading of tree grid view structures?

7 Replies

  • Which Innovator version? In one Innovator version that I right now don´t remember Aras introduced something that made loading grids much faster.

    Is every TGV in your Innovator slow or just the one you are currently working on?

    • Harald_Korneliussen's avatar
      Harald_Korneliussen
      Ideator I

      We're on Release 31 now. I'd say all of them are fairly slow, but some are really slow. I simplified the query a lot (removing change types we don't use), but that didn't make a dent in the performance, so I'm not quite sure what makes the difference.

  • Hi Harold,

    Just to have a full understanding of the problem, approximately how many items are being returned in your "Changes" tab? 

    • Gilbert_Delabrousse's avatar
      Gilbert_Delabrousse
      Ideator I

      Hello,
      You might also check your SQL Compatibility Level. In our customer, we had similar performance issues on Change Tab and the Aras Support proposed us to change the SQL Compatibility Level to 110 as we were with Aras R14.

      To modify the compatibility level, you may do the following:

      1. Right-click on the database in SQL Management Studio and select Properties
      2. Select Options on the left hand side and set 2012 in the Compatibility Level dropdown

      Alternatively you may also run the following SQL query against the database to update the compatibility level:

      ALTER DATABASE <database_name> SET COMPATIBILITY_LEVEL = 110
      • Harald_Korneliussen's avatar
        Harald_Korneliussen
        Ideator I

        I will try that, but as I said, it's not the query itself which is slow, unless it's executed in a different way somehow in the odata call than in the "query definition" -> "execute query" action.

    • Harald_Korneliussen's avatar
      Harald_Korneliussen
      Ideator I

      It takes ~15 seconds even if there are none, but it can be maybe a couple of hundred at most.

      • AngelaIp's avatar
        AngelaIp
        Ideator I

        I can´t really help in this discussion, but I very much like the topic. Is the rendering slow for every user? Cause I right now face a similar scenario with 2 of my users were Innovator is very slow. Mainly Impact Matrix, but also trivial elements like the make/buy Form dropdown.

        Are other TGVs slow too? The Changes tab is a bit of a unicorn, cause it´s a very complex rendering with an unique structure. From my POV it´s the slowest one in general. I made a quick test: 4-5 seconds for around 10 Changes / 3 different CM types used. It´s ok, but other TGVs are much faster.

        A few years ago I also changed the compatibility level, but mainly so I can use more modern SQL functions like STRING_SPLIT which weren´t supported by the previous 2012r2 server. It´s definitely a good tip, even if it doesn´t improve the TGV situation.