Slow Performance on a Dense Interface

Certified Lead Developer

We are seeing performance issues and would appreciate any input on how to speed things up.

We currently have an interface that consists of a two column layout.

In the first column, we have 4 card layouts. Within each of these card layouts, we have ~15 rich text items and ~10 rich text images/icons. 

When a user clicks on a card in the left column, we populate the second column with certain associated records, also shown in a list of card layouts (this side has 5-10). Each of these card layouts has ~10 rich text items and ~15 rich text images/icons.

 

We have no with() variables anywhere and we are not querying the database beyond the initial load. Yet, just clicking on a single card can take up to 5 seconds. It doesn't matter what we click, any action on the page takes 3-5 seconds (even when clicking on completely isolated components). It seems like Appian is re-rendering every component on every click. 

 

 

We have already read through https://docs.appian.com/suite/help/18.4/SAIL_Performance.html but were not able to find any actionable takeaways from it.

Looking at the performance view, Appian is telling us the page is loading in 1.3 second (not accurate when compared to end user testing). 

 

The only option I can see is reducing the number of components on the page. When doing so, we have received pushback since it no longer matches the client's initial design. Are there any other ways to speed up performance here? 

 

Top 5 parts of performance view:

Function
Count
Total Time (ms)
Percent
Minimum Time (ms)
Maximum Time (ms)

a!richTextItem

154

524

38.40%

< 1

61

a!richtextimage

60

332

24.34%

5

11

a!sidebysidelayout

41

191

13.99%

2

12

a!richtextdisplayfield

101

44

3.22%

< 1

2

a!richtexticon

61

36

2.66%

< 1

2

  Discussion posts and replies are publicly visible

Parents Reply Children
  • 0
    Certified Lead Developer
    in reply to glennw
    Hello!

    We are querying the data only once on page load - there are further complexities that I didn't explain that led to us loading all the data at once.

    At the same time, our queries are the fastest part of our system and there really isn't a lot of data (it's all sample data for now). It's simple interactions with the page that are taking long amounts of time.