impress-console icon indicating copy to clipboard operation
impress-console copied to clipboard

Extreme lags during step transition (workaround)

Open torbjoernk opened this issue 12 years ago • 11 comments

This is more of a FYI than a bug. I just added impress-console to my presentation and experienced severe lags during all step transitions. I fixed this by commenting out lines 91 to 105. Step transition is now smooth again though the transition is at first not in sync between the presentation and console. However, when the transition in the presentation is complete, the console preview gets updated. Just a minor flaw but without any lags.

PS: Tested with recent Chrome (24.0).

torbjoernk avatar Feb 23 '13 13:02 torbjoernk

Having three copies to update at the same time does put a lot more pressure on the PC. But I think it's important that the transitions happen in sync. When you are making a presentation you have your back to the screen, the console views are your view of the screen, so they need to get updated at the same time.

Possibly we could get away with not updating the preview, can you try commenting out only 101-105 and see if that's enough?

regebro avatar Feb 23 '13 14:02 regebro

Unfortunately, there is still a little lag on the presentation slide. In my case I'm happy with non-perfect sync. That's the problem with old computers.

torbjoernk avatar Feb 24 '13 09:02 torbjoernk

Right, and also cheaper netbooks etc. I'll keep this ticket open for a while, if this is a problem for more people I might introduce some sort of configuration setting for this.

regebro avatar Feb 24 '13 10:02 regebro

I'm trying to work out why the console is eating up so much of my cpu. When I first start it up i get a burst of cpu activity which subsides. However, as soon as I make a slide transition the cpu goes up and stays up (65% on my 1.1GHz pentium M old laptop). What is it in the code that is using up so much cpu when I am sitting on a slide?

Thanks Martyn

martynwheeler avatar Jul 23 '13 11:07 martynwheeler

It should be nothing. But It's doing three HTML5 transitions at once, that uses a lot of CPU, especially if your combination of browser, OS and videocards ends up not having good support for acceleration.

regebro avatar Jul 23 '13 12:07 regebro

Hi,

I'm experiencing the same problem, I use heavy styles and transitions. And on a wide TV screen, it's choppy.

I think it would be handy to be able to style and tweak previews, to simplify them (i.e. remove transitions, gradients, etc...). On each preview body's element, you could simply add a impress-console-preview class. We will then be able to target previews and style them in consequence.

What do you think?

ngryman avatar Jan 08 '14 23:01 ngryman

The transitions are set by impress.js directly on the slide divs, so they are hard to override. Just adding a "transition: none;" made no difference. Overriding the transform may make a difference, but I don't think that can be done with just css, as you still have to have a transform.

Possibly this could be solved by modifying impress.js itself to not have any transitions if a certain class is set.

In any case I modified impress-console to set an "impress-console" class on the body in the previews. If you can come up with some clever trick to get rid of the transitions that would be cool.

regebro avatar Jan 09 '14 11:01 regebro

Hey,

Thanks for that.

I'll try to adapt my current presentation and give you some feedback. I guess you can override impress's inline styles with !important to avoid transition and all.

ngryman avatar Jan 10 '14 22:01 ngryman

I tried that, but I couldn't get that to work, but I'm not a CSS guru. If you succeed, please report back. :-)

regebro avatar Jan 10 '14 23:01 regebro

Me again,

So, basically, if you want to prevent every impress transition, adding this piece of CSS disables slides transition in previews:

.impress-console #impress div {
    transition: none !important;
}

If you want to keep the correct timing: display the new slide after the time of the transition, but without transition, you can do the following:

.impress-console #impress div {
    transition-duration: 0 !important;
    transition-delay: 1000ms !important;
}

ngryman avatar Jan 11 '14 02:01 ngryman

That works, although I don't find any improvements in time. Then again, on the computer I am on now, there should be no hick-ups or delays at all, and there still is during some transitions.

regebro avatar Jan 26 '14 20:01 regebro