Large prototype, slow performance

My teammates and I are working on a prototype that is getting bigger and bigger, and slower and slower. We get lots of wait cursors and a fair number of crashes. What I’m wondering is if there’s a strategy to keeping the performance of the prototype reasonable (both when working on the file in axure and the performance of the prototype in a browser.)

For example, what might slow down a file most? Having lots of pages? Lots of dynamic panels? Lots of interactions? Lots of images?

1 Like

Hi Kami,

Sorry to hear about this! Total number of Widgets on a page (including Widgets in all dynamic panel states) can often be a cause of slow performance. Lots of high resolution images is another possibility. Here are a few suggestions for improving things that you might be apply to your file:

Where logical in the flow of your project, look for opportunities to break up dynamic panel states onto multiple pages. This is a good way to cut down on the number of widgets on your page.

Optimize images, which can be done by right-clicking on the image and selecting “Optimize Image”.

If you’re using repeaters, limit the size of the dataset. Try to restrict usage to one repeater per page.

Avoid using other memory-intensive programs (e.g. Photoshop) while working in Axure RP.

Hope this helps!

1 Like

lots of interactions and complex repeater with a huge amount of data is usually killing the prototypes first. many high quality images… stuff like that.
if masters have no raised events you can “store” the complicated stuff somewhere else and instead use preview-images while working.
if working with repeaters store the repeater data in excel files and use reduced datasets.
if working with large images do not include the images into axure, but use an individual assets-folder and set the images by value (link to the images).
sometimes complex stuff can easily be solved with javascript/jquery.
keep in mind what purpose the prototype has. build the happy-path and errors as exceptions. do not build a full working complex product.

if the prototype has to handle multiple purposes (testing, presentation) split the prototype and build only what you need. if you have a test-case - build the test-case, if you have a presentation build a presentation.

1 Like

Thank you for responding, all very good advise. We’re building a prototype that includes a library of music among other things, so there are multiple carousels of coverart on one page, for example (think Netflix.) I did let Axure optimize the images when I imported them. I should probably focus on trying to pare that down. Maybe I can use fewer examples of real cover art. We are using some repeaters as well.

One thing we had thought about trying to do was split the prototype up into separate files. Does anyone use that strategy? I am also interested in the idea of not having images in Axure directly, but linking to images. This is possible to do?

how can you do this?

you can copy-paste repeater data from excel and back. i am not sure how/if images work… if i have performance problems i store images as assets and link them instead importing them into axure.

splitting prototypes is not easy. usually you will have multiple masters. splitting works fine but recombining causes problems.

Thank you, Gregor. What are the steps for storing images as assets and linking to them in Axure?

not working with preview but realy export html. place a folder into the structure, instead using import image in the repeater data just type the image name. when setting the image by value enter the relative path and the image name… done.

1 Like

This is still happening today. I do understand all the do’s and don’ts but don’t agree that one should limit amount of DPS or RP’s just because Axure didn’t find a solution to it’s performance issues. I have prototypes that only have DP’s, no RP, normal images, and it still takes time to load.

@Rachel CC @Gregor
I am experiencing this issue as well with a custom menu I made.
However my file is 7654 KB, so not terribly large.

  • 6 columns x 24 rows (144 cells)
  • 25 images (SVG and JPG) each under 5KB when checking browser network performance
  • images are in dynamic panels instead of in the repeater data.
  • I use Interactions and events

I checked the network performance of my browser it’s not the images that are causing the load issue it’s the HTML file, often taking 3 - 6 seconds. This seems to be exclusive to Publish > Preview, as both and Publish > Generate HTML files… seem to both work well right out of the gate.

I know it’s the menu because when I remove it pages load in under 200 milliseconds.

I will note that upon refresh and revisits the page loads quickly likely having stored files as temporary data.

I’ve been going through and trying to identify what the load issue is by deleting interactions and elements, but it’s been difficult to identify.

This isn’t really an issue for sharing with other people, but as you can imagine when editing, a 5-second refresh is a long time. Not sure what can be done if anything, as this may be an RP file limitation.

1 Like