cancel
Showing results for 
Search instead for 
Did you mean: 

Rendering efficiency and UI elements that are not Visible

Former Member
0 Kudos

Hi all - if I have a View with a 3-tab tabstrip -- will there likely be performance improvements if I embed separate Views inside each tab - rather than using just one View for the tabstrip and all its tab contents? With separate Views I could also set Delta Rendering on; this would probably help if I had a big View displayed and only a "sub" View was being updated. But in this case the unselected Tabs are not visible -- is there still somehow a performance cost with these non-displayed UI elements? Any help would be appreciated ...

Accepted Solutions (1)

Accepted Solutions (1)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

For the best performance you should use separate views in each table. You can then fire navigation plugs when the selected tab is changed. First the navigation plugs such that dummy/empty views are rendered into the hidden tabs.

Here is a view of my window. Notice that for each View Container within a tab, I have the actual view and a EMPTYVIEW:

http://www.flickr.com/photos/tjung/3506746767/

method handleshow_tab .
  case old_tab.
    when 'TAB_1'.
      wd_this->fire_hide_tab_1_plg( ).
    when 'TAB_2'.
      wd_this->fire_hide_tab_2_plg( ).
    when 'TAB_3'.
      wd_this->fire_hide_tab_3_plg( ).
    when 'TAB_4'.
      wd_this->fire_hide_tab_4_plg( ).
    when others.
      " Unknown tab
      assert 1 = 2.
  endcase.

  case tab.
    when 'TAB_1'.
      wd_this->fire_show_tab_1_plg( ).
    when 'TAB_2'.
      wd_this->fire_show_tab_2_plg( ).
    when 'TAB_3'.
      wd_this->fire_show_tab_3_plg( ).
    when 'TAB_4'.
      wd_this->fire_show_tab_4_plg( ).
    when others.
      " Unknown tab
      assert 1 = 2.
  endcase.
endmethod.

The hide plugs cause the EMPTYVIEW to be loaded and the show plugs cause the real View to be loaded.

Answers (0)