RP
Ramesh Praveen
Syncfusion Team
December 1, 2003 11:31 AM UTC
Hi David,
This has been reported, frequently, as an issue with the menus by some of our customers.
Our dev. team has now decided to give this (instantiation and rendering performance of menus) top priority before the final 2.0 release (the first beta was announced last week) in a month or so. So, you can be assured of much better performance in our upcoming version.
We apologize for the inconvenience this might have caused you.
Regards,
Praveen Ramesh
RP
Ramesh Praveen
Syncfusion Team
December 1, 2003 11:32 AM UTC
Testing...
DB
David B
December 2, 2003 01:06 PM UTC
Hi Praveen,
Syncfusion certainly has the look and feel we want, but we have recently been forced into a position where we are seriously (almost certainly) considering dropping Syncfusion altogether. Our product is in the QA/QC phase and besides general performance issues during runtime, our product startup time is unacceptably slow. We have determined that around 8 seconds of that startup time (or more than 1/2) is due to Syncfusion, Syncfusion dependencies (e.g., System.Xml) and slow constuction and initialization of Syncfusion components.
You say that this has become a focus for version 2.0 and I can only say that I hope this is truly the case. We really don''t want to drop Syncfusion; we have invested quite a bit of time into your products, but as it currently stands I doubt we can continue to use them.
Let''s hope that version 2.0 delivers the performance we need!
Thanks,
David B.
AD
Administrator
Syncfusion Team
December 2, 2003 06:34 PM UTC
David,
I understand the problem. We have already begun work on optimizing load-time for our menus. This will then defenitely be part of our next beta release before the end of this month.
If you could point me at anything else in particular that is performing poorly we will try to work on those as well.
We will keep you posted on this one.
Regards,
Praveen Ramesh
LJ
Lucas J. Sain
December 3, 2003 06:33 PM UTC
The comboBoxAdv works very poorly....
AD
Administrator
Syncfusion Team
December 3, 2003 09:45 PM UTC
Hi Lucas,
Can you elaborate on the problems you are experiencing with this control?
Thanks,
Daniel
LJ
Lucas J. Sain
December 4, 2003 04:10 PM UTC
I have reported this in the direct-trac. I think it has been reported as bug report: 137.
It has to to with the comboBoxAdv when assigning a DataSoruce to it is much more slower than the comboBoxBase.
regards
Lucas
DB
David B
December 7, 2003 05:22 PM UTC
Other performance issues seem to be related to assembly loading. For starters Syncfusion assemblies seem to load slower than most (I''ve profiled it) but am not sure why they load slower. I''m getting about 400-500ms per assmebly on a cold startup. Secondly, startup time of a .Net app is related to working set and number of dependencies. To use Syncfusion you need to reference too many assemblies! Syncfusion.Grid, Syncfusion.Tools, Syncfusion.Shared, System.Xml, System.Design are all assemblies I see being pulled in by Syncfusion.
Why do you need a reference to Syncfusion.Grid, just to use a MainFrameBarManager? Why is System.Design being pulled in?
With the 5 assemblies I listed above I have to take almost a 3 second hit on cold startup, just to have a nice looking menu. We want our whole app up on screen in less than that. Then it takes 2 seconds to construct and initialize a MainFrameBarManager. :-(
I''d love to see you guys reduce your working set. We''d also love to have v2.0 out and ready and greased lightining fast and bug free by the end of this month, but we know that in the real world that won''t happen. Are you guys working 7 days/week on this? Even if you are we are using 1.6.1.8 in a product that is about to ship. V2.0 enhancements in reality probably won''t help us.
As I (and others in my company) see it, we have the following options:
1. Go with standard .Net menus, and drop the Syncfusion menues and docking manager.
2. Find another vendor (quickly). Even (dare I say it) ActiveX vendors are in the running.
3. Major code refactoring in our product to elminate dependencies on Syncfusion until after main form has been displayed. This is unlikely due to timeframe.
4. Get some urgent help from Syncfusion to improve performance of 1.6.1.8.
Is Syncfusion up to the challenge?
David B.
RP
Ramesh Praveen
Syncfusion Team
December 11, 2003 08:07 PM UTC
David,
Just an update on certain things we are working on for our 2.0 release that will greatly improve load time.
1) We will get rid off (or configure to delay load) certain assemblies (*.desing.dll, etc.).
2) We are contemplating a modules based approach where we chop our dlls into different modules which will get loaded only on demand.
3) Various performance related issues in our components, unrelated to loading.
You should then see a major improvement in performance in 2.0.
Also, based on our conversation outside this thread (via Howard), we are investigating on ways to help you improve performance with 1.6.*.
Regards,
Praveen Ramesh
TZ
Thomas Zueger
December 12, 2003 05:35 PM UTC
David,
We are developing an extensive application framework with .NET and we are using most of the Syncfusion components. One thing I can say is that the 2.0 version is mutch more faster than the 1.6 versions. We are also looking forward to get a more faster load behaviour than now. Faster would be better, but I can live with it at the moment.
Regards,
Thomas
SG
Sean Greer
December 15, 2003 10:10 PM UTC
David,
What class of machine are you testing on? Processor, memory, OS, etc. Are you running under the debugger? How many bars and bar items do you have? Are you running against local assemblies or are they in the GAC? Have you thought about using NGEN (though some Microsofties say that the 1.x version creates it''s own issues)?
My main form has quite a few large controls, docking manager + 3 docked controls, main form bar manager, grids, etc. and the entire InitializeComponent is taking 1.2 seconds under the debugger. This is using 1.6.
I''ve been extremely impressed by the functionality and performance of the Syncfusion components. If you''ve found something that is better, I''d love to hear about it.
Sean
>Other performance issues seem to be related to assembly loading. For starters Syncfusion assemblies seem to load slower than most (I''ve profiled it) but am not sure why they load slower. I''m getting about 400-500ms per assmebly on a cold startup. Secondly, startup time of a .Net app is related to working set and number of dependencies. To use Syncfusion you need to reference too many assemblies! Syncfusion.Grid, Syncfusion.Tools, Syncfusion.Shared, System.Xml, System.Design are all assemblies I see being pulled in by Syncfusion.
>
>Why do you need a reference to Syncfusion.Grid, just to use a MainFrameBarManager? Why is System.Design being pulled in?
>
>With the 5 assemblies I listed above I have to take almost a 3 second hit on cold startup, just to have a nice looking menu. We want our whole app up on screen in less than that. Then it takes 2 seconds to construct and initialize a MainFrameBarManager. :-(
>
>I''d love to see you guys reduce your working set. We''d also love to have v2.0 out and ready and greased lightining fast and bug free by the end of this month, but we know that in the real world that won''t happen. Are you guys working 7 days/week on this? Even if you are we are using 1.6.1.8 in a product that is about to ship. V2.0 enhancements in reality probably won''t help us.
>
>As I (and others in my company) see it, we have the following options:
>1. Go with standard .Net menus, and drop the Syncfusion menues and docking manager.
>2. Find another vendor (quickly). Even (dare I say it) ActiveX vendors are in the running.
>3. Major code refactoring in our product to elminate dependencies on Syncfusion until after main form has been displayed. This is unlikely due to timeframe.
>4. Get some urgent help from Syncfusion to improve performance of 1.6.1.8.
>
>Is Syncfusion up to the challenge?
>
>David B.
AD
Administrator
Syncfusion Team
December 22, 2003 10:30 AM UTC
Hi Sean,
Have been testing with a Dell laptop, P4-2.4GHz, 1Gb RAM, Windows XP Professional, 32Mb nVidia GeForce 4.
Reason for testing with a laptop is the slower disk access times.
>> Are you running under the debugger? <<
Not when we ship the product of course! But, we have profiled times both under the debugger and out of it. I realize the effect on performance times using the debugger has. At the end of the day all times that matter have been clocked in release mode, external to the IDE.
>> How many bars and bar items do you have? <<
2 or 3 bars, with around 50 or so bar items.
>> Are you running against local assemblies or are they in the GAC? <<
Syncfusion assemblies are GAC''d assemblies.
>> Have you thought about using NGEN? <<
Yes. Initially tried and tested it and it made things worse. Later on we we tried it as a sanity check and it did actually help load times. Not sure how this result reversed itself, but we are loading assemblies slightly differently now.
>> I''ve been extremely impressed by the functionality and performance of the Syncfusion components. If you''ve found something that is better, I''d love to hear about it. <<
We too are definitely impressed with Syncfusion''s functionality, but can''t agree on performance I''m afraid. The docking manger seems to be OK on performance, thus indicating that loading times (with Ngen) are not so bad in the end, but if you are using menus/toolbars I''m sure you''ll notice a big performance problem in 1.6. That''s where your 1.6 second IntiialzeComponent method will blow out to 3 or 5 seconds!!! Even the 1.6 seconds under the debugger that you have is terribly bad.
For our app about to ship, we''ve regretfully had to pull menus and toolbars and use the plain looking .Net versions.
As for other vendors/options we looked a little bit, but nothing jumps out. I tested a major competitor of Syncfusion and performance of their components seemed to be even worse. Add to that that every single component lived in a different assembly which based on my profiling and talking to Microsoft would affect startup times since there''s an overhead for each assembly loaded, regardlesss of size.
After all of that I''m hopefully that v2.0 is going to help us out for our other applications we have in the pipeline.
Regards,
David.