# UI Maps and BPAs

UI maps will not be able to display many rows very quickly. DONT display hundreds of rows in a UI Map. Alternatively, the zone type "SERVICE" can display numerous records faster.

DO: Ensure that the html code is proper. Malformed HTML in UI maps (for example, opening a <div> and not closing it) can cause significant performance degradations at the browser. It is possible to copy and paste HTML into Eclipse to check its validity. There are also various tools like html tidy that can help to identify bad html.

DO: Minimize browser-to-server calls. Namely, invokeBO/BS/SS will perform a call to a server to retrieve the data, which can be slow. Many of these such calls on load of the UI Map will result in slow performance.

- Use service script instead of BPA if multiple calls need to be made to BO, BS, SS.
- Create a "bulk" processing service script instead of calling the same one multiple times. Instead of multiple invokeBS calls on load of a UI map, write a pre-processing service script instead.

Parent topic: Development Performance Guidelines