Sage 50 2016.2 Slow Painting The Screen on Remote Desktop

Hi, 

We have a couple of servers running Windows 2012 R2 Remote Desktop Services (aka Terminal Services). Sage50 installation is 2016.2. 

Issue: when opening any of the Invoices, Sales, etc.. dialog windows (you know, those that typically have a light green or blue background color), you literally see how the window is painted and it takes 3-5 seconds to display all the buttons and fields. This happens all the time regardless of how fast these servers are (SSD disks, 16 GB RAM, etc.) or whether there's load on the server. I've seen it myself when I'm the only user on the server at 2 AM in the morning. 

The servers were installed recently and they have always the latest OS patches, etc. 

Please, advise. 

Thanks

Parents
  • 0

    AOSAdmin, did you ever find a solution to this issue? I've scoured the internet for a solution and your post here was the best to articulate the issue. There are plenty of companies that have this issue but due to an inability to accurately communicate the issue on Sage forums in how Sage 50 'paints' the program on the screen, the response from others hasn't targeted the real issue. It's literally a 10 second wait as various windows, like quotes, stalls before it finishes putting itself on the screen. We see the outline of the window with white boxes but no text.
     
    We had the issue with Sage 50 2016 and it seems the problem has carried into 2017.1.

    Same as you we have a Windows 2012 R2 Remote Desktop Services (RDS aka Terminal Services) server hosting the data for our remote users on a high end server.

    We even went so far as to stick a 10gbps (that's ten gig, not your standard gigabit) NIC in the server to communicate to a 10gbps workstation NIC and the issue is still grossly apparent via RDS. It seems the speed of the network has no effect on the quality of the experience.

    We found that adjusting the report colors to 8-bit base colors slightly improves the experience but even that doesn't fix the heart of the issue - it seems Sage stalls in bringing up the invoice or quote windows, before it finishes drawing the screen.

    Tried the following to no avail:
    - Compatibility Mode for Windows 7 and also XP
    - Reduced color mode to 8-bit
    - Disable display scaling
    - Upgraded to 10gbps network uplink

    I have a feeling this is an inherent issue with Sage 50 on Windows RDS servers but if anyone googles this and later finds a solution, I'd love to hear it.

Reply
  • 0

    AOSAdmin, did you ever find a solution to this issue? I've scoured the internet for a solution and your post here was the best to articulate the issue. There are plenty of companies that have this issue but due to an inability to accurately communicate the issue on Sage forums in how Sage 50 'paints' the program on the screen, the response from others hasn't targeted the real issue. It's literally a 10 second wait as various windows, like quotes, stalls before it finishes putting itself on the screen. We see the outline of the window with white boxes but no text.
     
    We had the issue with Sage 50 2016 and it seems the problem has carried into 2017.1.

    Same as you we have a Windows 2012 R2 Remote Desktop Services (RDS aka Terminal Services) server hosting the data for our remote users on a high end server.

    We even went so far as to stick a 10gbps (that's ten gig, not your standard gigabit) NIC in the server to communicate to a 10gbps workstation NIC and the issue is still grossly apparent via RDS. It seems the speed of the network has no effect on the quality of the experience.

    We found that adjusting the report colors to 8-bit base colors slightly improves the experience but even that doesn't fix the heart of the issue - it seems Sage stalls in bringing up the invoice or quote windows, before it finishes drawing the screen.

    Tried the following to no avail:
    - Compatibility Mode for Windows 7 and also XP
    - Reduced color mode to 8-bit
    - Disable display scaling
    - Upgraded to 10gbps network uplink

    I have a feeling this is an inherent issue with Sage 50 on Windows RDS servers but if anyone googles this and later finds a solution, I'd love to hear it.

Children
  • 0 in reply to niagarasys
    niagarasys:

    I don't normally run Sage 50 via RDP, but just as a test I connected to one of my other PC using Windows 10 RDP over a 1GB hardwired LAN.
    I then launched Sage 50, there was only a slight additional delay in displaying the Sage 50 Main window. I then tried to open a Sales Quote window, from the time I clicked on the icon in the program to the time it displayed full screen was about 12 seconds in total, if I open the same Sales Quite window on my local PC it only takes about 2 seconds to fully display.
    I also did a very quick test of changing some of the setting in the RDP connection and none of them had any noticeable effect on the time it takes to fully display the Sales Quote window.

    Hopefully this will help confirm that it is something to do with the way the windows are displayed in Sage 50 and not due to data caches and network connection speeds.
  • 0 in reply to Ginkgo Bike
    Bruce, I really appreciate you going through the trouble to check this and it removes an item off my list of 'things to check next'. Since I posted I've tried more on the server side of things but hadn't considered checking to see if desktop hosting RDP sessions have the same issue. Knowing that it does I suppose there isn't much that can be done outside of providing feedback to Sage concerning this issue.
  • 0 in reply to niagarasys
    niagarasys:

    My observation is that the screen is being built up in a series of small sections, on the local machine the video card handles the redraws very efficiently, it would appear that the RDP video subsystem is trying to redraw all these changes on the remote screen and just gets overwhelmed. This is all based on my observations and speculations, combined with 20 years of computer support knowledge; most of it in a corporate environment with over 1,000 desktops and several Citrix servers.
  • 0 in reply to niagarasys

    niagarasys said:
    It's literally a 10 second wait as various windows, like quotes, stalls before it finishes putting itself on the screen.

    Sage 50 seems to throw the screen up with the defaults, then redraw it in pieces as the bits and pieces are collected from the company database.

    Could you please check whether there is / isn't a noticeable difference between the company's and the sample 'Universal Construction' data? 

  • 0 in reply to RandyW
    This is interesting as it leads to a further insight. It's not the data that you're working with but rather it's changing the window size with certain aspects of Sage 50 that creates the issue.

    * just maximizing a quote will produce the issue *

    Get this though, if you stretch the window to the extents of the screen (not maximize), you can move it around freely and it won't redraw!

    To fast forward past a lot of efforts on my side, I found that if I take a fresh server with a fresh install of Sage 50 and then import the company data and just click reports the first time it comes up with a minor 2 second delay.

    If I resize the window to make it full screen... game over man.

    So basically I've found the issue - regardless of whether or not you use the sample data or the long term company data, the size of the window correlates to how long it takes for Sage to draw the window. If you have it at, say, reduced size of 1/4 of the screen it will come up fairly quick. If you make it full screen it will take a literal 10 seconds to draw on screen.

    So if I open session at 1280 x 1024 and run the program at 640 x 480, it's a few seconds.

    If I open a session at 1280 x 1024 and run the program at full screen 1280 x 1024, it's 10 seconds.

    If I open a session at 2560 x 1600 and run the program at full screen 2560 x 1600, it's something like 10 - 15 seconds.

    If I open a session at 2560 x 1600 and run the program at tiny 640 x 480, it's a few seconds.

    So there's a direct correlation to Sage 50 window sizes and a serious delay in screen drawing for certain functions when the function, like quote or invoice, is loaded.

    Other windows, like reports, don't have the issue.
  • 0 in reply to niagarasys

    niagarasys said:
    If you have it at, say, reduced size of 1/4 of the screen it will come up fairly quick.

    Makes sense, the more pixels the program has to paint / draw, the longer it takes to send each pixel.  Maybe the reason I've never seen this problem, is that I use windows 'restored' rather than 'maximized'.  

    Because...  Windows... plural.  Otherwise it would have been called 'Slow DOS with Pretty Colours'.

    Randy Wester

  • 0 in reply to RandyW
    Well I wouldn't necessarily say it makes sense because it's still a glitch that needs a resolution. Telling users they need to run at 640 x 480 isn't going to fly.

    Considering that Windows Server 2016 provides two licenses for two instances per system and many companies are going with a native for data + hyper-v for Sage 50 user sessions I expect this software bug will become even more noticeable as more companies go this route (and QuickBooks, Spire, etc. obviously doesn't have this issue).
  • 0 in reply to niagarasys

    niagarasys said:
    Telling users they need to run at 640 x 480 isn't going to fly.

    I just did a quick copy/paste of my invoice screen into PAINT, it's at 1415 x 631 pixels, so about a third of the total dual monitor width x about half the height.  Works great remotely with one physical monitor at 1920x1280.  Unfortunately I didn't set it up so I can't tell you how it compares to another system.

    niagarasys said:
    many companies are going with a native for data + hyper-v for Sage 50 user sessions

    Sage 50 was designed and built (and hopefully optimized) as a client/server program, but a quick Google search turned up resellers hosting it as SAAS.  They must have gotten it to work reasonably well without resorting to the Dark Arts and RAM drives.

    I hear good things about 'seamless' RDS.  Does it work / act any differently?  

    (I heard those good things from the same salesman that told us we couldn't have more than 5000 items in a SharePoint Online list because it was like a bus teetering on the edge of a cliff, and that Sage 50 didn't work with downloaded Office 365, we had to buy a dozen 'open license'  copies at $900 each and install from CD.  So really not sure if there's any difference in user experience)

     

  • 0 in reply to RandyW
    Sure, you can work with a copy of the screen just fine; The issue isn't what's appearing on screen but rather how Sage50Accounting.exe is rendering the Revenue Journal on screen, probably via gdiplus.dll.
  • 0 in reply to niagarasys

    niagarasys said:
    Sure, you can work with a copy of the screen just fine;

    What I meant, was that I used copy / paste in paint to measure the number of pixels, not that painting a bitmap is the same as refreshing a combobox, or that I could remotely copy / paste it quickly.

    niagarasys said:
    probably via gdiplus.dll.

    There's a list of the DLLs used under Help | About | Support Info.  I would download the sysinternals suite and use DEPENDS, PROCEXP, and PROCMON to find out.

    niagarasys said:
    The issue isn't what's appearing on screen but rather how Sage50Accounting.exe is rendering the Revenue Journal on screen

    Yes, I get that.  It's a mildly irritating 2-3 second wait on an I5 running client-server on a 1 GB network.  But there's no delay at all when running the sample data from the local hard drive. 

     If you can't make it better, sometimes knowing what makes it worse can help, so I continue with what you were doing - changing colour depth, throttling system resources, etc.    (and also slowing the network connection, restricting RAM, running from a copy of the data on a cheap memory stick, trying it with the antimalware temporarily disabled, that sort of thing.)  

    Once I had enough data to narrow it right down, I would open a support case with Sage.  Just because they don't officially support that configuration doesn't mean they have no idea.  The SAAS providers probably aren't using a secret '-NoFunkyScreenRefresh' switch.

  • 0 in reply to RandyW
    Wait, what do you mean there's no delay when running the sample data? We might not be on the same page as there's just as significant a delay with *any* data, the issue has nothing to do with the data but redrawing the screen when loading the revenues journal when your default is maximized.
  • 0 in reply to niagarasys
    With our old workstations and server, my response to "it takes a lot of time to load this screen" was "why did you close it just then?". It turned out the clerk didn't know she could clear a screen with control-z and pick another order from the dropdown list, or restore down and switch back and forth to the open Sales Order report and still have room on screen for the PDFs of the invoices. Most importantly, she didn't know that it would help to keep the screen open.

    I meant there was no delay in the system starting to display the invoice screen, certainly not 10 seconds. And
    - the difference between invoice screens using remote access vs. at the workstation was negligible, and
    - there was an additional delay in loading an invoice screen with a lot of data, and
    - seemed to be a delay if there were a lot of large lists in the company data vs. the sample file.

    Screen type Screen size System Company file Time to load

    Order(blank) Maximized Local I5 Sample 2.5 sec
    Order(blank) Restored Local I5 Sample 2 sec

    Order(blank) Maximized RDS I5 Sample 4 sec
    Order(blank) Restored RDS I5 Sample 3.5 sec


    There is an additional load time, the first time the screen is loaded after program startup (about 2 seconds). Presumably this is the system time to load the resources from a DLL + the time to look up the company file and user settings for the columns and screen size, plus the load time for any drop-down lists that are part of that screen. (caveat, I haven't done any deep analysis, that's based on what I know about how software works, generally + how Sage 50 stores the screen positions in the company file)

    For a large company file, there is an additional 3-5 second wait to call up the data for a large, multipage order.

    I'm at home today, so I checked a remote connection vs. this I5 laptop.

    My testing was just an RDP to a workstation, not a dedicated server. It's over an internet connection from fiber at my home to another ISP's wireless connection 10Km away. So plenty of latency, a cheap single hard drive at the host plus another network hop to the server, lots of paranoid antimalware all 'round. And the difference between remote and local is so small it's hard to measure.

    I don't personally work for Sage, and neither sell nor particularly endorse their products.
  • 0 in reply to niagarasys
    Was there any further development on this issue? This is the ONLY thread I can find that leads to a 'solution'. Having my users use small windows alleviates some of the issue, but this seems like a core Sage programming issue when it comes to video display...

    Were there any fixes that anyone is aware of to mitigate this fully?
  • 0 in reply to TheITCompany

    TheITCompany said:
    Was there any further development on this issue?

    As far as I know, there's never been any development at all, in the sense of someone at Sage looking into the issue. 

    I've responded to a post on a terminal server issue where Sage 50 2017.2 on a Terminal Server would max one CPU and grind to a halt after file conversion.   The cause was Sage 50 looking for certain Crystal Reports registry keys at about a million queries per minute.  The hack fix is to add a bogus registry key to make the Sage 50 software stop looking.  A good fix might start with a nerf bat at the desk of the programmer.  Again, as I've said in other posts, I don't work for Sage and I don't have clients, but I do like solving interesting and difficult puzzles. 

    TheITCompany said:
    Having my users use small windows alleviates some of the issue

    Not sure what you mean by 'small windows'.   If you mean 'restored' versus 'maximized', yes, the invoice screens seem to run faster if they're not Maximized, even when their size is adjusted to cover the whole screen.  I can't tell you why that is without a lot of testing and hacking.  And maybe not even then.

    The invoice screens also don't make you wait to load them if they don't have to - the executable code that displays them stays in RAM, so closing the invoice screen to open another invoice is slower than using control-z to clear the window for the next entry, or than opening an Invoice or Order from a pick list, report, or search. 

    As I said in another post, some people use one window at a time, with one program maximized over it, and while it does work, it can be inefficient on multiple levels.

    TheITCompany said:
    but this seems like a core Sage programming issue when it comes to video display...

    Rather than access the data needed for an invoice screen into a temporary file or array, and THEN display it all at once, Sage 50 appears to paint the screen, then tell each component to refresh itself, which appears to cause a lot of screen updates.  There's almost certainly a better way, but Sage almost certainly won't rebuild it.

    To reiterate some items from previous posts:

     - Use 'restored' windows, not maximized.  Drag the corners to the size you need.   Train your users, they may have learned 'computers' using a single web browser with obvious multiple tabs and do not 'grok' Windows' multiple screens and taskbar.

     - Work out how to keep the window open and change the data, rather than closing it.   The screen components in any software are loaded out of the executable file on disk, configured, and assembled before they can be displayed. 

     - Use whatever diagnostic tools you have to find limiting factors - i.e. is it the disk or RAM on the data server, the terminal server, do the terminal, application client, and data server 'share' disk, RAM and CPU and just fight over it in a virtual cage match with the Windows OS as the referee?  

     - Test with the Sage 50 Sample file and with your company data. 

     - Don't be like our previous I.T. guy and waste time messing with Terminal Server colour settings, video drivers, total window size, etc.

    I hope that helps, to re-iterate I don't work for Sage so I have the opposite of a reason to make excuses. 

  • 0 in reply to niagarasys

    We have the same problem  on Remote Desk top.  At work we work from a server and my computer is about 2 seconds faster to open an invoice than a different employee.  Did anyone come up with a good solution to this?