Issue
------
When the edmx model has more than ~100 associations, and click whether left or right click makes visual studio unresponsive for minutes at a time. A diagram with no or few associations is fine.
Workarounds
---------------
**Workaround #1: Install VS2015 Update 3 RC**
The fix for this issue will be included in Visual Studio 2015 Update 3. You can get the release candidate of this update from https://blogs.msdn.microsoft.com/visualstudio/2016/06/07/visual-studio-2015-update-3-rc/.
________________
**Workaround #2: Adjust VS graphics options**
The following is reported to resolve the issue for some (but not all) users:
* Navigate to Tools > Options > General
* Untick "Automatically adjust visual experience based on client performance"
* Untick "Use graphics acceleration if available"
________________
**Workaround #3: Avoid Remote Desktop**
Several users have reported the issue only affects them when using Remote Desktop. You could try logging directly into the machine, or using an alternate remote connection technology.
________________
**Workaround #4: Older Windows Version**
Since this issue only affects Windows 10, you can use a previous version of Windows to edit the model.
Updates
---------
**Update Feb-26-2016**
This looks to be a problem with **Microsoft.VisualStudio.Modeling.Sdk** - it has been handed off to that team and they are investigating the cause. We are leaving this issue open to keep a track of the issue on the EF side since it is affecting a large number of customers.
________________
**Update May-24-2016**
The **Microsoft.VisualStudio.Modeling.Sdk** team has implemented a fix for this issue and it will ship in the next updated to Visual Studio 2015.
________________
**Update June-13-2016**
The fix for this issue is included in Visual Studio 2015 Update 3. The Release Candidate of Update 3 is now available https://blogs.msdn.microsoft.com/visualstudio/2016/06/07/visual-studio-2015-update-3-rc/.
________________
Additional Details
-------------------
More details are on a StackOverflow question: [http://stackoverflow.com/questions/33854875/entity-framework-edmx-click-on-diagram-very-slow/33884465](http://stackoverflow.com/questions/33854875/entity-framework-edmx-click-on-diagram-very-slow/33884465).
__ProcDump__ during the unresponsiveness gives this:
```
[External Code]
[Managed to Native Transition]
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!<Module>.GeoSCursor.search(GeoSCursor* value)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsInRect(LRECT bbox, Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList items, VSGLayoutObject** ignoreItems, int numberItems, int numbertypes, int* types, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsInRect(LRECT bbox, Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList items, VSGLayoutObject** ignoreItems, int numberItems, int numbertypes, int* types, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.get_ObjectsInRectangle(double x0, double y0, double x1, double y1, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.HitTest(Microsoft.VisualStudio.Modeling.Diagrams.RectangleD hitArea, bool requireCompleteContainment, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.SpatialQuery(Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.SpatialDirection direction, Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement currentShape, Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement parentShape)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.FindNextInChildShapes(Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement startFromChildShape, bool focusableRequired)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeAccessibleObject.GetChild(int index)
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.GetFocused()
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.Accessibility.IAccessible.accFocus.get()
System.Windows.Forms.dll!System.Windows.Forms.InternalAccessibleObject.System.Windows.Forms.UnsafeNativeMethods.IAccessibleInternal.get_accFocus()
```
Comments: Thanks for the update @RoMiller
------
When the edmx model has more than ~100 associations, and click whether left or right click makes visual studio unresponsive for minutes at a time. A diagram with no or few associations is fine.
Workarounds
---------------
**Workaround #1: Install VS2015 Update 3 RC**
The fix for this issue will be included in Visual Studio 2015 Update 3. You can get the release candidate of this update from https://blogs.msdn.microsoft.com/visualstudio/2016/06/07/visual-studio-2015-update-3-rc/.
________________
**Workaround #2: Adjust VS graphics options**
The following is reported to resolve the issue for some (but not all) users:
* Navigate to Tools > Options > General
* Untick "Automatically adjust visual experience based on client performance"
* Untick "Use graphics acceleration if available"
________________
**Workaround #3: Avoid Remote Desktop**
Several users have reported the issue only affects them when using Remote Desktop. You could try logging directly into the machine, or using an alternate remote connection technology.
________________
**Workaround #4: Older Windows Version**
Since this issue only affects Windows 10, you can use a previous version of Windows to edit the model.
Updates
---------
**Update Feb-26-2016**
This looks to be a problem with **Microsoft.VisualStudio.Modeling.Sdk** - it has been handed off to that team and they are investigating the cause. We are leaving this issue open to keep a track of the issue on the EF side since it is affecting a large number of customers.
________________
**Update May-24-2016**
The **Microsoft.VisualStudio.Modeling.Sdk** team has implemented a fix for this issue and it will ship in the next updated to Visual Studio 2015.
________________
**Update June-13-2016**
The fix for this issue is included in Visual Studio 2015 Update 3. The Release Candidate of Update 3 is now available https://blogs.msdn.microsoft.com/visualstudio/2016/06/07/visual-studio-2015-update-3-rc/.
________________
Additional Details
-------------------
More details are on a StackOverflow question: [http://stackoverflow.com/questions/33854875/entity-framework-edmx-click-on-diagram-very-slow/33884465](http://stackoverflow.com/questions/33854875/entity-framework-edmx-click-on-diagram-very-slow/33884465).
__ProcDump__ during the unresponsiveness gives this:
```
[External Code]
[Managed to Native Transition]
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!<Module>.GeoSCursor.search(GeoSCursor* value)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsInRect(LRECT bbox, Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList items, VSGLayoutObject** ignoreItems, int numberItems, int numbertypes, int* types, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.GetObjectsInRect(LRECT bbox, Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGLayoutObjectList items, VSGLayoutObject** ignoreItems, int numberItems, int numbertypes, int* types, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.GraphObject.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphObject.VGGraph.get_ObjectsInRectangle(double x0, double y0, double x1, double y1, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.HitTest(Microsoft.VisualStudio.Modeling.Diagrams.RectangleD hitArea, bool requireCompleteContainment, bool searchSubGraphs)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.SpatialQuery(Microsoft.VisualStudio.Modeling.Diagrams.GraphWrapper.SpatialDirection direction, Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement currentShape, Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement parentShape)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement.FindNextInChildShapes(Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement startFromChildShape, bool focusableRequired)
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.14.0.dll!Microsoft.VisualStudio.Modeling.Diagrams.ShapeAccessibleObject.GetChild(int index)
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.GetFocused()
System.Windows.Forms.dll!System.Windows.Forms.AccessibleObject.Accessibility.IAccessible.accFocus.get()
System.Windows.Forms.dll!System.Windows.Forms.InternalAccessibleObject.System.Windows.Forms.UnsafeNativeMethods.IAccessibleInternal.get_accFocus()
```
Comments: Thanks for the update @RoMiller