Re: Best charting package



Bob, I sent an email to support early today and didn't hear back from
anyone.

<bob.milanov@xxxxxxxxx> wrote in message
news:1169722445.261379.187610@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Joe,

I accidentally saw this thread in the news groups and since I work for
Nevron I would like to clarify a few things from the thread:

1. C# is almost as good performance-wise as a programming language to
C++ if you know how to use it. There are simple coding techniques that
will allow you write a well performing code - to name a few:
- since there is no inlining you need to use field references instead
of property access (it will result in a function call which will reset
the CPU pipeline).

- Avoid or stop using foreach, using and other advanced constructs in
performance critical code. These keywords also imply exception handling
which results in the CPU entering an exception block + calling an
enumerator and a type cast (essentially a virtual call in .NET). If you
use "for" and "while" code will run as fast as in C++.

The drawbacks of C# performance wise:

- If I can I would like to be able to control if a variable is stored
in a register or not. This is a must have for any language that is
targeting performance.

- Inline functions / properties are badly missing.

- you cannot use assembly in unsafe code - in C++ you can use inline
assembly which allows the good developer to take advantage of x86
intruction set extensions (like MMX and later SSEx and 3DNow!). These
instruction sets are present in all modern processors.

2. Regarding the performance and evaluation of Nevron Chart:

I do not know how you made the performance tests however I'm positive
that Nevron chart is the fastest rendering chart on the planet and is
also currently the only commercial chart using hardware accelerated
drawing (OpenGL) not to mention that it is the only with real 3D
support. Most likely the competition has hidden data re-sampling that
reduces the number of actual calls the drawing API.

If you need any help with the component or would like to know more
about the future of this chart please e-mail me at the support mail on
our webside (sorry no e-mails on the thread).

Best regards,
Bob


On Jan 25, 9:15 am, "Joe" <jbassk...@xxxxxxxxxxxxxxx> wrote:
Thanks to all those who replied. I knew there would be differences in
opinions and I also knew that there would be feed back from the companies
that make some of the chart packages.

As for my decision, I haven't made one just yet. Here's what I've learned
from my different evals. Each chart package was tested with a wide range
of
data. The performance was tested with the following data samples:
100 series and 30 data points per series
3370 series and 30 data points per series
870 series and 4 data points per series

We also had different data types on the X-Axis. Int, double, DateTime,
Text

ProEssentials:
Pro - Excellent performance (probably the best)
Pro - Displays labels on the axes rounded correctly. For example if the Y
values ranged from 2.8 - 27.13, the labels display in round numbers and
divided up nicely.
Pro - The DateTime handling is very good.
Pro - Handles all value types on the X-Axis (text requires setting a
label
for those that don't know)
Pro - Auto scales values for the Axis labels. For example 5,000,000 will
display as 5m (or similar)
Cons - Well the unmanaged code causes a slight problem for us. Not so
much
because of the code itself but the context menus and charting panels
themselves give an old appearance and cannot be made to match my
application

ChartFX:
Pro - There performance is very good
Pro - Looks very nice and has very useful extensions.
Pro - DateTime handling is very good.
Pro - Axes labels scale very well. Similar to ProEssentials except
ChartFX
doesn't do the Auto scaling unless we use the log.
Con - There is a delay with the initial painting of the charts. For
example
if you scroll a panel to a chart that was out of view, the chart will
take
some time to draw with large data.

Nevron:
Pro - Has a lot of "eye candy"
Con - Performance doesn't seem to be a match to ProEssentials or ChartFX
Con - You need to know your series types in advance or creating them. You
cannot toggle using a type or gallery property (correct me if I'm wrong)
Since I hit the 2 Cons above I stopped testing it early.

Infragistics:
This one had it's own set of issues so I didn't continue this eval
either.
It's very possible I didn't completely understand the documentation on
manually populating it.

As a final note I would like to say to all the charting companies that
are
following this:
I understand all the complexities that go into creating these packages. I
tested some of the features which are most important to us to help come
to a
decision. If I was incorrect with any of my evals please let me know. We
have not made a firm decision yet and I do have a little time left to do
a
little more testing.

-Joe

"Joe" <jbassk...@xxxxxxxxxxxxxxx> wrote in
messagenews:%23Xo5ieBNHHA.960@xxxxxxxxxxxxxxxxxxxxxxx



Is any one charting packing considered to be the "best"? We've used
ChartFX but wasn't too happy about the way data had to be populated
along
with some other issues which slip my mind right now and Dundas has bugs
and doesn't do a good enough job displaying axis labels and is very
slow
to paint large numbers of series and data points.

We're currently evaluating ProEssentials which we are happy with but
it's
not a native .NET package.

Thanks,
Joe- Hide quoted text -- Show quoted text -



.