2

When profiling an interaction of GoJS within my Dijit-heavy application, I'm seeing the same user-interaction stack over and over - this causes the UI to hang for about 10 seconds.

.expandSubGraph should only be called a single time, as it is a user-interaction.

Profile with GoJS and Dojo

However, if I place a breakpoint on a function within that stack, the breakpoint is only hit a single time.

If I take GoJS outside of the application, and using the same data, do the same interaction, I do not see the stack repeated - which is what I expect. Profile when using GoJS outside of Dojo

What could be causing this situation? Rogue event handlers? Thanks!

Fedoranimus
  • 816
  • 6
  • 20
  • In both scenarios was the only input event the user's click on a "SubGraphExpanderButton"? – Walter Northwoods Jul 20 '16 at 22:00
  • Yes @WalterNorthwoods. That was the only input event. – Fedoranimus Jul 20 '16 at 22:03
  • I don't know anything about dijit or your app, so everything I say is just a guess. Does the DIV element holding the Diagram change in size? What event handlers have you established? Is there any animation? – Walter Northwoods Jul 21 '16 at 09:34
  • The div does not change size and GoJS animations are disabled. Are you asking which GoJS event handlers have been set up, or all event handlers? – Fedoranimus Jul 21 '16 at 10:22
  • I was curious if you had any Diagram listeners, and if so, what they did. But I really have no idea about what Dijit is doing to affect GoJS. Were you guessing that it was adding event listeners to the diagram's DIV element or to any of its child elements that GoJS uses to implement scrollbars? I imagine that that could be bad. – Walter Northwoods Jul 21 '16 at 10:48
  • I'm listening to `ExternalObjectsDropped`, `SelectionDeleting`, `InitialLayoutCompleted`, and `LayoutCompleted`. The DIV element that GoJS is placed inside is a Dijit ContentPane, which has many [events](https://dojotoolkit.org/api/#1_10dijit_layout_ContentPane_onBlur) applied to it just for existing. – Fedoranimus Jul 21 '16 at 11:25
  • Since you say everything works well when using GoJS outside of the Dijit framework, I'm guessing your DiagramEvent listeners are not the problem. What version of GoJS are you using? Maybe GoJS is bubbling some mouse events when it shouldn't, and Dijit is handling them unexpectedly? Try using the beta version of 1.6.13, at http://gojs.net/beta. – Walter Northwoods Jul 21 '16 at 12:00
  • I'm using the latest version of GoJS, but this issue has existed for many versions. – Fedoranimus Jul 21 '16 at 12:01
  • I don't know what else to say. You could send us a link to your public page and we could try to debug it. Send us email at nwoods.com to GoJS. – Walter Northwoods Jul 21 '16 at 12:04
  • Sadly, this is an internal system - we don't have a public page. I'm going to look into what occurs when the scrollbars change, though. There may be a problem there. – Fedoranimus Jul 21 '16 at 13:01

0 Answers0