Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Foxcharts and performance
Message
From
18/11/2010 07:05:29
 
 
To
17/11/2010 17:19:58
General information
Forum:
Visual FoxPro
Category:
Third party products
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01488981
Message ID:
01489524
Views:
107
>>Well, it appears I've found the problem. Our app has a fairly decent-sized SET PROC list. If I issue a SET PROCEDURE TO, then the chart will render within a second.
>>
>>So, the $1,000,000 question is why would the SET PROC list have any negative impact on GDI+?
>>
>>And the bonus question would be why this issue doesn't even show up when stepping through the debugger while the same SET PROC list is in effect.
>>
>>Either way, I'm thrilled that I found the issue!
>
>Hi,
>
>and I am thrilled to find out why this particular setting has an effect on the production environment, as you mentioned FoxCharts are loading in development within a split second.
>
>Regards.
>
>Koen

Hi guys,

FoxCharts uses GdiPlusX. At any moment any of the FoxCharts classes use the SET PROCEDURE command.
This is done by GdiPlusX.

GdiPlusX is a collection of classes that is stored in 5 main PRG files. During initialization, we need to set "SET PROCEDURE" to find these 5 files whenever needed, to make all functions available.

For example:
* Clear the SET PROC
SET PROCEDURE TO

* Initialize the GdiPlusX library
DO System.App

* Show the new SET PROC
? SET ("Procedure")
For me, here it shows:
SYSTEM.APP, SYSTEM.DRAWING.FXP, SYSTEM.DRAWING.DRAWING2D.FXP, SYSTEM.DRAWING.IMAGING.FXP, SYSTEM.DRAWING.TEXT.FXP, SYSTEM.IO.FXP
AFAIK, SET PROC command has a limit of 254 or 255 characters. Maybe you have a huge SET PROC ?
Or did you forget to use the ADDITIVE clause, to make it keep the old settings ?

From my part, I'll add some extra checking in FoxCharts to always be sure that SET PROC is correct.

Regarding GdiPlusX, I'll discuss this with Bo Durban (the project manager), and we'll add some new basic checking for that in the main library as well.

Thnaks a lot for your testings, it was really very helpful ! I hope that other people who were having performance issues will leverage from this as well.

Regards

Cesar
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform