If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
DDE Links extreamly slow in Excel 2002
I have DDE server providing information to Excel.
After upgrading to Excel 2002 & Windows XP from Excel 2000 & Windows 2000 I started experiensing sevier performance degradation. A spreadsheet that take about 2-3 min to update on Excel 2000 takes 15 to 20 min to update in Excel 2002. The funniest thing is that this happens if you keep Excel 2002 as the active app. If after opening the document and pressing the "Update" button you switch the focus to another app the updates are much faster (but still slower than with Excel 2000). I also experimented with Open Office. If works well on both Windows 2000 and Windows XP and opens the same spreadsheet and updates all the links for about 1.2 to 2.5 min (faster than both version of Excel). Any ideas ? |
#2
|
|||
|
|||
DDE Links extreamly slow in Excel 2002
Alex N. wrote:
I started experiensing sevier performance degradation. A spreadsheet that take about 2-3 min to update on Excel 2000 takes 15 to 20 min to update in Excel 2002. Tools / Options / Calculation / Manual ?? Bill Manville MVP - Microsoft Excel, Oxford, England No email replies please - respond to newsgroup |
#3
|
|||
|
|||
DDE Links extreamly slow in Excel 2002
I am using "Automatic" update. The DDE server can process
only one request at a time. On the s/sheet there are 160 links. If I switch to "Manual", the DDE server will repond "busy" to all outstending requests while procesing the first request. As a result Excel flods the system with useless messages (for evry "Busy" response it issues new request...) and as a result the whole system becomes unresponsive. That also slows down the DDE and as a result the updates are even slower. If I use "Automatic" updates, then Excel estabilishes "hot links" with the DDE server. During the Initiate-Advice sequece the DDE server makes a list of all requests and then sends the updates one after onother. This way the updates are much faster (at least that was the case with all Excel versions before Excel 2002). The funniest thing is that if during the DDE Initiate - DDE Advise sequence Excel has the imput focus it takes a long time for Excel to respond to the messages sent from the DDE Server. If when I open the s/sheet and press "Update" button, I switch the focus to any other application, then Excel responds very quickly and performance is good. (but stil slower than Excel 2000 and any version of Excel is slower than OpenOffice 1.1) You can contact me on - remove "_removethis_" -----Original Message----- Alex N. wrote: I started experiensing sevier performance degradation. A spreadsheet that take about 2-3 min to update on Excel 2000 takes 15 to 20 min to update in Excel 2002. Tools / Options / Calculation / Manual ?? Bill Manville MVP - Microsoft Excel, Oxford, England No email replies please - respond to newsgroup . |
#4
|
|||
|
|||
DDE Links extreamly slow in Excel 2002
I am using "Automatic" update. OK. That wasn't an answer to the question I asked (about Tools / Options / Calculation), but my question was possibly irrelevant if you don't have a lot of cells dependent on the cells receiving data over the DDE link. The funniest thing is that if during the DDE Initiate - DDE Advise sequence Excel has the imput focus it takes a long time for Excel to respond to the messages sent from the DDE Server. If when I open the s/sheet and press "Update" button, I switch the focus to any other application, then Excel responds very quickly and performance is good. (but stil slower than Excel 2000 and any version of Excel is slower than OpenOffice 1.1) I have not made much use of DDE myself, so I am shooting in the dark. What is the code in your Update button doing? Is there an opportunity to throw in a DoEvents or two? Or to wait a bit: Application.Wait Now+TimeValue("0:0:2") wait 2 seconds. Bill Manville MVP - Microsoft Excel, Oxford, England No email replies please - respond to newsgroup |
#5
|
|||
|
|||
DDE Links extreamly slow in Excel 2002
Thanks for your response Bill. But I think there is a bug (or DDE implementation change) in the latest versions of Excel, or even change in the DDE suport undef Windows XP as a whole.
My DDE server is implemented in VC++ (not using MFC) and I have full control over the code. I did put some profiling and performance monitoting code in it and the result is that Excel is responding extremely slow when it is the active application (note that the "Ignore other applications" option is not switched on). When Excel is in the back-ground it works fine. So I desided to abandon DDE completely and implemented the same functionality using "RTD" (RealTimeData) function in Excel 2002 & Excel 2003. For the erlier versions I will still use DDE as "RTD" is not available. And it is a fact that M$ provides DDE support only for backword compatibility and after Windows 95 they do not fix bugs and do not enhance it (read they do not support DDE) or at least that is what MSDN says about DDE. |
Thread Tools | |
Display Modes | |
|
|