Forum Discussion

QuynginaZhang-c's avatar
QuynginaZhang-c
Community Member
8 months ago

Strategies to handle lag with a slide that has nearly a hundred buttons?

I have a project that's a practice exam with 75 questions. In this project, I have an "exam summary" page where users can see the status of each question (whether they've opened the question slide, answered it, flagged it for review, etc.), with 75 rectangles that act as buttons and each linking to a question slide. Each button has 5 states to display their status (again, whether they've opened the question slide, answered it, flagged it for review, etc.)

 

When I had first set up these buttons without these states, I started to experience a bit of lag in this "exam summary" slide, which is expected given that there's a lot of objects, though it was still manageable. After adding in the states and using the format painter to paste it into each button, it gradually got laggier to the point I'm waiting several seconds before I see a response to anything I do.

 

Is there a way I can reduce this lag within storyline and without moving some of these buttons to a different slide? The purpose of keeping all the buttons in one page is to keep the design and formatting similar to the live exams that my project is based off of. Any suggestions would be appreciated.

  • SBP_Inc's avatar
    SBP_Inc
    Community Member

    What about extending the questions with a set of adjacent checkbox controls that represent the states of each question, controlled by a variable and some creative trigger work... or a mini progress bar, again adjacent to the button. States - as powerful as they are - aren't always the only option

    • QuynginaZhang-c's avatar
      QuynginaZhang-c
      Community Member

      I had attempted something similar with the checkboxes in my first iteration of this and encountered the same lag issue (though correct me if I'm misunderstanding).

       

      At first, I placed checkboxes by these buttons to show if a question was flagged by the user, and button states were used to only show if the user had either seen or answered the question. Boolean variables and triggers were used to tell these objects if the user had opened, answered, or flagged any of the question slides. In this first iteration, I had 150 objects in the slide, 75 buttons with 75 checkboxes. My second iteration (described in the post above) was an attempt to see if I could reduce this lag by just using button states to display this information and removing the checkboxes to cut the number of objects in this slide in half. I was hopeful at first, noticing the lag wasn't as bad as my first attempt, but it failed once I started implementing states.

       

      The good news about this second iteration is that managing objects is more straightforward due to reduced clutter, and I can alleviate lag by selectively hiding buttons using the timeline's "show/hide" toggle. This workaround isn't a definitive solution, as lag persists most of the time I'm building out this slide, and I have to manually hide each button since using "Hide all" doesn't work well with objects in scrolling panels (and everything is inside a scrolling panel unfortunately).

       

      I do appreciate your response.