When you define UI structures, e.g. for a customer specific form or list UIBB or tab or something else, it is convenient to include e.g. the underlying backend node structure so that you have all potential relevant fields available.
Performancewise you ( or actually your end users 😉 ) pay a high price for it, as the number of fields included in the structure (even if not visible to the user) has a huge impact on the rendering time.
This is even getting more relevant as FBI adds additional technical fields to the generated UI structure. Here is an example:
The actual UI structure looks as follows:
36 actual fields (include itself is also counted but is of course not relevant as such). If you now look at the FBI structure (which is the strucure used by Web Dynpro) you see this additional include here:
So for nearly all fields (I think key is excluded here) a structure /BOFU/S_FBI_TECHNICAL_FIELDS is added.
So for every actual field you add to the UI structure, 5 fieldsare technically added to the WebDynpro context.
So, think which fields are really make sense for the UI and only include those fields!
PS: You may also listen to the TMP podcast episode about TM UI technology: TMP006 TM UI basics