Forum Discussion

callum's avatar
callum
Icon for Helper II rankHelper II
9 years ago
Solved

Only calling update when visual size has "settled"

I have a visual that performs a lot of calculations when the update() method is called.

 

Normally this is fine, for example when I just click the refresh button it works fine.

 

However, I realised that when one resizes a visual, the update method essentially gets called nonstop. For example if I resize it from 500x200 to 300x200 I guess it gets called 200 times.

 

Anyway, because of the number of calculations my visual has to perform with each update, this just ends up crashing my browser!

 

Is there perhaps a way to make the update method only be called when the size is not still in the process of being adjusted? Or some other way to prevent this issue?

 

I'm not sure how feasible it would be to make the code more efficient without reducing its functionality unfortunately, so I'd rather try other methods before going down that route!

  • Hey,

     

    for me this worked quite nice

    public update(options: VisualUpdateOptions){
         if(options.type == VisualUpdateType.ResizeEnd)
         {
            // code here
         }
    }

2 Replies

  • MeQT's avatar
    MeQT
    Frequent Visitor

    Hey,

     

    for me this worked quite nice

    public update(options: VisualUpdateOptions){
         if(options.type == VisualUpdateType.ResizeEnd)
         {
            // code here
         }
    }
  • v-chuncz-msft's avatar
    v-chuncz-msft
    Icon for Community Support rankCommunity Support

    callum,

     

    As mentioned above, you may make a distinction between VisualUpdateType.Resize and VisualUpdateType.Resize + VisualUpdateType.ResizeEnd.