68

I've noticed an immense delay (just sitting there doing nothing) since upgrading to the latest version of windows while using tortoiseSVN to compare any file to its base version [TortoiseMerge].

I was on the fast track and got the fall creators update about a month ago and noticed this too so i reverted back and it went away. After it hit RTM I thought this was fixed but apparently I was wrong.

What do I mean with very slow?

Before fall creators update: <1 second

After: A minute or 2, as long as it takes..and that's just for comparing 1 file.

I just go read an article or something and wait for the tortoiseMerge icon to popup in the taskbar.

Repo is on my Desktop - Client is on my Laptop - same network.

Anyone with a similar experience? Did anyone find a workaround?

Edit: The issue has more to do with TortoiseMerge than TortoiseSVN or SVN itself - I switched to Beyond Compare and it is working well for now.

AngelicCore
  • 1,413
  • 3
  • 22
  • 40
  • Found a similar issue but for GIT: https://stackoverflow.com/questions/46847809/sourcetree-not-working-after-windows-10-fall-creators-update – AngelicCore Oct 21 '17 at 06:00
  • disable Windows defenders realtime scanning/protection and look what happens. – magicandre1981 Oct 21 '17 at 17:37
  • 1
    Same here. Disabling Windows Defender doesn't help. – stepand76 Oct 23 '17 at 13:48
  • I have to sit and wait in 10 seconds before the diff view is fully initialized. I do not run windows defender. The behavior is the same both when I run from svn commit and git commit windows (double clicking a file from any of those). – Anders Lindén Jan 12 '18 at 15:51
  • Just pestered TortoiseSVN's devs on their G Groups page about getting this fixed - they have no plans to fix it. Their response: "MS will have a fix available on Jan 30." – Conrad Jan 23 '18 at 21:08

6 Answers6

79

The issue is already reported to Microsoft and Microsoft fixed in in Visual Studio 2017 15.6 when you recompile your code. Here the fixed MFC without the slow Get/SetPixel is used.

To fix in in Windows 10 for current and older compiled tools which use MFC, Microsoft released the Update KB4058258. The release notes don't mention the fix, but it is confirmed by the reporter that the fix is part of the cumulative update.

So installing the Update should fix it. So if you have the issue, make sure you run at least Build 16299.214 (run winver.exe to see the number).

enter image description here

If you have this or a higher number at last position, the issue should be gone.

The old and outdated information are archived. See the revisions of this answer for the old workarounds.

magicandre1981
  • 27,895
  • 5
  • 86
  • 127
  • 12
    To be honest it is not much better without the Ribbons - slightly faster but overall much slower than previous windows update. Had to revert to Creators edition which just zooms in comparison. – AngelicCore Oct 26 '17 at 06:02
  • 6
    Thank you! Disabling the Use Ribbons completely solved the issue for me with TortoiseGitMerge. With Ribbons it would take up to 30 seconds to get merge to display, and now that it's disabled, it's back to be close to instantaneous. – Akeo Oct 29 '17 at 17:33
  • for the other user here it worked. Vote for the issue on the msft community and also try to update the GPU driver and reinstall Tortoise(Git/SVN). – magicandre1981 Nov 02 '17 at 16:10
  • due to Exploit Protection as described here: https://www.tenforums.com/performance-maintenance/96792-fall-creators-update-poor-performance-lagginess-fix.html – sean e Nov 06 '17 at 15:41
  • I had to do both things -- disable ribbons in TortoiseMerge, and disable Control Flow Guard in Windows Defender as pointed out by @sean-e. Neither workaround alone did it. Defender allows you to disable CFG on a per-program basis; I left it on by default, disabled just for TortoiseMerge.exe, as that's the only place I'm having trouble. Abundance of caution and all that. – Mike Paxton Nov 10 '17 at 02:59
  • Suggested workarounds seemed to be working at first, after disabling ribbon, turning off the CFG and restarting diff was fast again. But after ~1week of uptime it again degraded to slow. I need to restart to make it fast again... – tporeba Jan 11 '18 at 15:59
  • After unchecking "Use Ribbons" the delay of opening and intializing the tortoisemerge window went from 10 seconds to instant. – Anders Lindén Jan 12 '18 at 16:10
  • 2
    @AngelicCore Microsoft fixed it now via Cumulative Update rollup which was released on 31th January 2018. – magicandre1981 Feb 02 '18 at 05:18
  • I have newest Windows update and issue is not fixed. I am using Parallels on Mac to run Windows. Could it be cause? – Daniel Vidić Sep 10 '18 at 06:26
  • @DanielVidić which Windows 10 Build and which TortoiseSVN version do you use? TSVN 1.10 uses the Windows Ribbon and should not have the issue. – magicandre1981 Sep 10 '18 at 14:20
  • @magicandre1981 I am using Windows Version 1803 (OS Build 17134.254), TortoiseSVN 1.10.1, Build 28295 - 64 Bit , 2018/07/15 12:14:12, Subversion 1.10.2. – Daniel Vidić Sep 12 '18 at 06:32
  • @DanielVidić ok, this should not occur. open taskmgr in background and look if you see high cpu usage while you see the delay. if you see high CPU usage, [analyze it](https://stackoverflow.com/a/42349119/1466046). if Tortoise tools have high cpu usage, add the [tortoise symbol server](https://tortoisesvn.net/faq.html#debug) [to WPA](https://learn.microsoft.com/en-us/windows-hardware/test/wpt/loading-symbols) – magicandre1981 Sep 12 '18 at 14:53
  • @magicandre1981 It is not CPU at 100% usage. It is Disk at 100% usage. When it happens Task manager and everithing else stops responding from few minutes up to few hours – Daniel Vidić Sep 12 '18 at 19:23
  • @DanielVidić look if the disk has issues (check the SMART values with CrystalDiskInfo) – magicandre1981 Sep 13 '18 at 14:47
  • @magicandre1981 CrystalDiskInfo does not show any values. I have Windows as virtual machine on Mac using Parallels Desktop Pro 14. And disk on my Mac is ok, I have run Disk utility FirstAid and built in hardware check. And I have lot of free space on disk. – Daniel Vidić Sep 14 '18 at 18:02
  • @DanielVidić also use Windows Performance toolkit to do Disk/FileIO tracing: https://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-44-WPT-DiskIO-Analysis – magicandre1981 Sep 15 '18 at 10:17
9

Instead of removing the "ribbon" setting, or changing security in Windows, I installed the last nightly build (1.9.9.x), and the performance is back. I looked at the settings, and the ribbon is still checked as default. But the performance is there. https://nightlybuilds.tortoisesvn.net/latest/x64/full/

foxontherock
  • 1,776
  • 1
  • 13
  • 16
  • 2
    yes, this version sues the native Windows ribbbon and no longer Mfc to fix the slowdown, but it is not recommend to use the nightly with SVN 1.10 dev engine in production environment. – magicandre1981 Dec 22 '17 at 14:33
4

As a workaround, you can use the TortoiseUDiff tool instead. It is still fast. Here is what I do:

  1. Right-click a working folder in Windows Explorer and click 'SVN Commit'
  2. Select one or more files in the 'Commit > Changes made' list
  3. Right-click the selection and select "Show changes as unified diff"

It's not as powerful as TortoiseMerge, but if you just need to see the changes you are committing, the above method still works fast.

humbads
  • 3,252
  • 1
  • 27
  • 22
3

After installing 2018-01 Cumulative Update for Windows 10 Version 1709 for x64-based Systems (KB4058258) the speed problems for WinMerge appear to be completely fixed.

Conrad
  • 2,197
  • 28
  • 53
1

In the TortoiseSVN settings window, I

  1. selected Diff Viewer/Merge Tool section

  2. checked External

  3. selected WinMerge.

Works like a charm.

Flot2011
  • 4,601
  • 3
  • 44
  • 61
1

It did a trick for me. I allowed TortoiseSVN program in my antivirus firewall protection settings. It made SVN Commit fastest.

Go to your antivirus. I have Quick heal. So I will tell you the steps accordingly.

1) click on "Internet & Network"

2) Click on "Firewall protection"

3) Check for "Program rules" and click on "Configure" button. It will open a window displaying the list of allowed Exe on your system. Your antivirus blocks tortoiseSVN and related exes, if they are not in allowed Exe list.

4) So now click on "add" button, open dialog box will popup.

5) Go to "C:\Program Files\TortoiseSVN\bin" directory

6) Select TSVNCache.exe, TortoisePlink.exe, TortoiseProc.exe, ConnectVPN.exe And click "open" then click OK in list window.

Here you go. Hope it helps you.

MaddyCoder
  • 11
  • 1