SCXcodeMiniMap
SCXcodeMiniMap copied to clipboard
SCXodeMiniMap makes Xcode slower
The plugin list that used by me is below: { Alcatraz ColorSenseRainbow DBSmartPanels DerivedData Exterminator DXXcodeConsoleUnicodePlugin FuzzyAutocomplete HOStringSense JSFormatter Lin MCLog OMQuickHelp Peckham RTImageAssets SCXcodeEditorInset SCXcodeMinimap VVDocumenter-Xcode XAlign } When I remove SCXodeMiniMap, Xcode works well.
The version of my mac is 10.11.3, and my Xcode is version of 7.2(7C68).
I does indeed make Xcode slower, mainly because of the larger amount of text that it now needs to syntax highlight, but, unfortunately, I haven't found any suitable solution to improve the performance and I had to settle on delaying when the text is invalidated. If you have any ideas pull requests are more than welcome.
What if we MiniMap didn't do any syntax highlight? That could help a lot, isn't it?
Absolutely. You can give it a try by replacing the the layoutManager's shouldUseTemporaryAttributes delegate method with something along these lines:
- (NSDictionary *)layoutManager:(NSLayoutManager *)layoutManager
shouldUseTemporaryAttributes:(NSDictionary *)attrs
forDrawingToScreen:(BOOL)toScreen
atCharacterIndex:(NSUInteger)charIndex
effectiveRange:(NSRangePointer)effectiveRange
{
SCXcodeMinimapTheme *theme = ([layoutManager isEqualTo:self.textView.layoutManager] ? self.minimapTheme : self.editorTheme);
return @{NSForegroundColorAttributeName : theme.sourcePlainTextColor};
}