Speed and Visio Application Scaling problems 
Author Message
 Speed and Visio Application Scaling problems


I have been developing a Visio based application for the last many
months and I am starting to run into some application scaling
problems,  that is the number of shapes in the visio application
increases, the slower it goes.

Here are some characteristics of my application:
1.  Written in vb as a in-process dll (com as opposed to a vsl)

2.  Visio 2002

3.  During all my steps that have speed problems I have shut down
screen updating and also stopped any event processing.
              appVisio.EventsEnabled = false
              appVisio.ShowChanges = false

4.  Purpose,  Build models via Visio diagrams and display modeling
results on the diagrams

5.   I have 2 test models.  A "small" model with about 500 shapes and
a Large model with about 3000 shapes

My basic problem is that as I increase the number of components in my
models (or shapes in the visio diagram)  Visio gets slower and slower
for the same function.  Here are some examples:

1.   Complicated Drop.  The user drops a shape off a visio template.
Based on what is dropped, my application has to create other related
pages and shapes.  For example,  1 Object I drop requires my
application to create 1 new page and about 15 other shapes and make 8
connections.  For my small model this takes about 4 seconds (p4-2Ghz,
512 MB ram),  Big model it takes 25 seconds.  I am NOT doing loops
over all shapes in either case so the processing should be the same
for big or small model.

2.   Update a drawing.  In this case I am simply changing the text of
some shapes and changeing the color of some shapes.  All shapes on the
same page.  If I need to change 30 text boxes (putting in numbers like
222.2) and change 60  shape styles,  it takes a small but hard to
measure time on my small model and about 3 or 4 seconds on the large
model.  I have direct references to all the shape objects in my VB
code.  I am not doing any searching in visio to find the shapes.

My big worry here is that I Need to get much bigger.  The size of my
biggest models (without using visio) is equivelent to about 20,000
visio shapes.  I am scared to death about the speed then.

One idea I have been bouncing around is to break my Visio diagram into
multiple seperate documents and only open the ones I want to change or
build on.  My underlying VB application should allow this but I was
looking for info on possible problems.

Any other ideas or suggestions are welcome.  


David Nelson

Sun, 09 May 2004 06:40:44 GMT  
 Speed and Visio Application Scaling problems


>5.   I have 2 test models.  A "small" model with about 500 shapes and
>a Large model with about 3000 shapes

>My basic problem is that as I increase the number of components in my
>models (or shapes in the visio diagram)  Visio gets slower and slower
>for the same function.

I assume you only have a few of those on the same page at a time.
Why not 'page out' unneeded pages to a database?  For models of this
size, you want a database anyway.


Sat, 03 Jul 2004 06:29:05 GMT  
 [ 2 post ] 

 Relevant Pages 

1. Visio.Application (COM object) Speed

2. Help with page scaling -- Visio 2002

3. Problems with Visio 5.0-Files in Visio 2000

4. speed up visio file loading

5. Speed, Speed, and Speed!

6. Speed Speed Speed - Cutting down on wasted cycles

7. Scaling VB applications!

8. Visio Automation - application object

9. VB.Net AppActivate Method and Visio Application ProcessID property

10. Embedding Visio in my application

11. How to make a template to open on visio application startup

12. Passing information from VB Application to Visio


Powered by phpBB® Forum Software