keyongtech


  keyongtech > powerpoint > 09/2009

 #1  
09-14-09, 10:40 AM
James
Hi

We develop a commercial add-in for PowerPoint and have been doing so for
10 years now.

What this requires is for the slides to update dynamically and
programmatically according to live data polled from a database. This has
all been working fine up until recently. We have found that, in
PowerPoint 2007, simply refreshing a slide (ie reloading the data from
the database and redrawing the chart) takes an increasingly longer
period to do. In other words, the same code runs slower and slower - in
testing we have got this to over 15 seconds for a routine that started
out taking 0.1 seconds! This occurs both in edit mode and when running a
slideshow.

The charts are created by manipulating shapes within PowerPoint and
MSChart is not being invoked.

There is also a simple, but strange 'fix' to all this. If the user
manipulates a shape manually on the slide, or even types in a letter
into the notes pane, say, then the routine will suddenly run again at
optimum speed. However, this has to be done manually. Any programmatic
changes I make do not do this.

It is as if all the 'stack' of vba commands are being cumulatively
stored by PowerPoint (for some sort of undo??) and only is the
collection cleared when the user makes a change to the slide.

If anyone has had a similar experience or indeed has a solution to this,
I'd be very interested to hear it!

Our add-in is created in VB6 as a COM add-in.

Thanks in advance

James
 #2  
09-15-09, 04:10 PM
Steve Rindsberg
Unfortunately, 2007 is kind of a mess when you lift the hood with VB/VBA
and go poking around inside.

I don't have any answer for you, but have run into something that's almost
the exact opposite of what you're describing. If a user adds so much as
one new shape, it causes one of our custom add-ins to fail in odd ways when
a slide show is launched.

We've found one workaround, which is to programmatically save, close, then
reopen the file and restart the slide show. I've no idea why this should
work or why it doesn't work otherwise, but you might give it a try.

None of this is necessary in any previous PPT version, of course.

Bring on 2010 !

[..]
> collection cleared when the user makes a change to the slide.
>
> If anyone has had a similar experience or indeed has a solution to this,
> I'd be very interested to hear it!
>
> Our add-in is created in VB6 as a COM add-in.
>
> Thanks in advance
>
> James



==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/

Don't Miss the PPTLive User Conference! Atlanta | Oct 11-14
 #3  
09-16-09, 05:26 PM
James
Thanks for that Steve.

Saving the presentation doesn't remove this problem unfortunately.

However I have found a nasty hack which works (sort of) but only when a
slideshow isn't running... It basically simulates the user selecting a
shape and moving it up and down one powerpoint pixel. I really don't
like it at all, so will carry on looking for a cleaner alternative.

ActiveWindow.Panes(2).Activate
SendKeys "{TAB}{UP}{DOWN}"

Ugly code indeed.

I haven't had any issues with users adding shapes, but I concur that
with 2007, anything can and usually does, happen.

Having said all this, I must admit that the Ribbon in 2007 has made our
interface so much more user-friendly - all our clients who have
'upgraded' to 2007 have said so. Plus, the ability to have custom task
panes is a major bonus. And both ribbon and CTPs can be programmed from
VB6 (although most documentation states otherwise) so it's not all bad
with 2007. It's a love/hate thing I have with 2007!

Thanks again


Steve Rindsberg wrote:
[..]
 #4  
09-16-09, 08:48 PM
Steve Rindsberg
Ugly indeed ...

You could probably improve upon it by trapping the slide show begin
event, ending the show, doing the sendkeys, then restarting the show.

Might want to send the tab, test for a selection, and THEN send the
UP/DOWN only if the Selection.Count > 0 (in case there's nothing on the
slide).

[..]
> if all the 'stack' of vba commands are being cumulatively stored by
> PowerPoint (for some sort of undo??) and only is the collection
> cleared when the user makes a change to the slide. If anyone has had
> a similar experience or indeed has a solution to this, I'd be very
> interested to hear it! Our add-in is created in VB6 as a COM add-in.
> Thanks in advance James
> ============================== PPT Frequently Asked Questions
> [..] PPTools add-ins for PowerPoint
> [..] Don't Miss the PPTLive User Conference!
> Atlanta | Oct 11-14



==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/

Don't Miss the PPTLive User Conference! Atlanta | Oct 11-14
 #5  
09-23-09, 03:20 PM
James
Thanks Steve

I think we're trying to put lipstick on a pig with those amendments -
nice ideas but we're starting from a solution that isn't ideal to say
the least....

At the moment I have a manual workaround so it's a case of running
slideshows in dual screen and occasionally playing around with the Notes
Pane.

Will keep on looking (and praying) for a better way.

Cheers!

Steve Rindsberg wrote:
[..]
 #6  
09-23-09, 04:24 PM
Chirag
Have you tried changing the ViewType of the Window?

- Chirag

PowerShow - View multiple PowerPoint slide shows simultaneously
http://officeone.mvps.org/powershow/powershow.html

"James" <jahbur-at-yahoo.co.uk> wrote in message
news:4580
[..]
 #7  
09-23-09, 08:37 PM
Steve Rindsberg
In article <ehp9AkFPKHA.4468>, James wrote:
> Thanks Steve
>
> I think we're trying to put lipstick on a pig with those amendments
> - nice ideas but we're starting from a solution that isn't ideal to
> say the least....


Putting the lipstick on the wrong end of the pig, at that.

Do let us know if you come up with anything workable.

[..]
> experience or indeed has a solution to this, I'd be very interested
> to hear it! Our add-in is created in VB6 as a COM add-in. Thanks in
> advance James ============================== PPT Frequently Asked
> Questions [..] PPTools add-ins for PowerPoint
> [..] Don't Miss the PPTLive User Conference!
> Atlanta | Oct 11-14
> ============================== PPT Frequently Asked Questions
> [..] PPTools add-ins for PowerPoint
> [..] Don't Miss the PPTLive User Conference!
> Atlanta | Oct 11-14



==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/

Don't Miss the PPTLive User Conference! Atlanta | Oct 11-14
 #8  
09-28-09, 11:25 AM
James
Afraid so. In fact it already does that to avoid SlideShows running with
the slidesorter view 'on', as we found it can slow things down
incredibly. From memory each time we manipulated a shape it would redraw
the slidesorter images, including animation builds.

Good thought though! Thanks!

Chirag wrote:
[..]
 #9  
09-28-09, 01:09 PM
Chirag
I meant that you should try changing the ViewType after every few operations
and come back to the original ViewType. See if it helps. Perhaps you have
already tried it.

- Chirag

PowerShow - View multiple PowerPoint slide shows simultaneously
http://officeone.mvps.org/powershow/powershow.html

"James" <jahbur-at-yahoo.co.uk> wrote in message
news:a220
[..]
 #10  
09-28-09, 01:57 PM
James
Thanks Chirag - I hadn't actually tried that, but it doesn't solve the
problem I'm afraid. I even tried switching to a different viewtype, do
the updating and then switching back, all to no avail. If I manually
move a shape, or type something in, anywhere (in a shape or the Notes
Pane), then I get back to optimum speed.

I'll have a go at creating something similar in a simple vba project
that can be posted here, although I'm not too sure if it'll 'work'.

Cheers

Chirag wrote:
[..]
 #11  
09-28-09, 02:27 PM
James
Yep it works. Here's a link to an example file with a simple macro in
it. All it does is move each shape up and down one pixel and times the
whole process. By repeatedly running the macro, it soon starts to slow
down. To reset it back to its optimum speed, simply move something or
type something into the Notes Pane. You can either run the macro from
the vba editor window or from the slideshow using the helpful button
I've put on the slide...

I'd be very interested to here if anyone gets similar results to me, or
indeed if they don't and it doesn't slow down at all, ever. Either
result would be welcome news!

http://www.buckhurst.info/TimerTest.pptm

Thanks in advance.

James

James wrote:
[..]
 #12  
09-28-09, 04:06 PM
Chirag
Hi James,

Bad news: I am able to reproduce the issue.
Good news: A workaround is to get rid of the VBA CommandButton and use
PowerPoint shape on the slide and assign "Run macro" action to the shape. I
did that and now the macro doesn't slow down the updates.

- Chirag

PowerShow - View multiple PowerPoint slide shows simultaneously
http://officeone.mvps.org/powershow/powershow.html

"James" <jahbur-at-yahoo.co.uk> wrote in message
news:1512
[..]
 #13  
09-28-09, 04:58 PM
James
Many thanks for checking this out for me. I think the reason it doesn't
slow down when you click on a PowerPoint shape is because you are
manually interfacing at some level with the slide and that is what sorts
the problem out. Having said that, interestingly enough, if I don't use
the shape to run the macro but just play a sound, then it doesn't cure
the problem. Does it slow down in the Edit Window with no slideshow running?

In any case a) I need this to be a code-driven process without the need
for user interaction and b) having the mouse on-screen during a
slideshow is not an option.

The example I have posted here is a very simplified version of what our
dll does, but I'm glad to see that the problem can be reproduced without
mountains of code. Unfortunately it also means it's not my fault that
it's happening and therefore it's most likely not in my control to be
able to fix it.

Thanks Chirag

James

Chirag wrote:
[..]
Similar Threads
Vista Copy Speed over the network is slower that XP SP2 and OSX..much slower?

First and foremost..I apologize for posting to this group and the Vista General group. I think this one is more appropriate for my issue since it is network related... We...

Why x64 app runs slower than x86 app ?

I have played with Parallel Extensions and noticed to my surprise that executable compiled for x64 runs slower than compiled for x86: private static double HeavyMath( int I...

Code runs slower on JTAG

Hi, it appears funny but interesting. I am debugging a problem and for which I am using TRACE32 JTAG interface on ARM platform. But when I try to run system without...

ASO code runs much slower on Windows Server 2003 than on 2000

Any reason why? Thank you, Tim

Remote Desktop Connection gets slower and slower, reboot helps

We have a user that is connecting from home to her machine here at work, Windows XP Pro SP1. When she first connects, the desktop experience is fine. Over time - a day or so?...


All times are GMT. The time now is 09:46 AM. | Privacy Policy