Description: Seems like exported JS presentation engine is directly generated from cpp version, here: https://github.com/LibreOffice/core/blob/2eae33e82e5f91d6dbaf7e8e848f53644596059d/slideshow/source/engine/slideshowimpl.cxx#L2370 The generated JS looks like this: FrameSynchronization.prototype.synchronize = function() { if( this.bIsActive ) { while( this.aTimer.getElapsedTime() < this.nNextFrameTargetTime ) ; } this.markCurrentFrame(); } The while loop will be CPU hogging and make the UI no response, so I think this kind of code should be optimized to schedule in a Timer/requestAnimationFrame. FrameSynchronization.prototype.synchronize = function() { if ( this.bIsActive && ( this.aTimer.getElapsedTime() < this.nNextFrameTargetTime )) { setTimeout(this.synchronize.bind(this), 16); } else { this.markCurrentFrame(); } } Steps to Reproduce: 1. Open a slide with long time animations 2. 3. Actual Results: CPU hogging and janky animation Expected Results: Smooth animation and use much lesser CPU cycles. Reproducible: Always User Profile Reset: No Additional Info: User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36
I can't find the source code of presentation engine in Javascript, so I think the code is auto-generated. Do you have any plan to implement a more 'Web' native presentation engine that utilize CSS animation,CSS transitions,Web Animation, SVG <animate> tag, requestAnimationFrame?
Code pointer: http://opengrok.libreoffice.org/xref/core/slideshow/source/engine/slideshowimpl.cxx#2370 Thank you for this analysis and suggestion! I'm not an expert, just a simple contributor, but if interested and have some time, you may contribute by following this link: https://wiki.documentfoundation.org/Development/GetInvolved
(In reply to Julien Nabet from comment #2) > Code pointer: > http://opengrok.libreoffice.org/xref/core/slideshow/source/engine/ > slideshowimpl.cxx#2370 > > Thank you for this analysis and suggestion! > I'm not an expert, just a simple contributor, but if interested and have > some time, you may contribute by following this link: > https://wiki.documentfoundation.org/Development/GetInvolved Hello, Julien. I can't find the source of Javascript code, so I guess the code is auto-generated from cpp code via scripts. Thanks for the link, I will try to find an angle to attack.
You can contact the developers on IRC #libreoffice-dev (most are active during weekdays): https://wiki.documentfoundation.org/Website/IRC Or mailing list: https://wiki.documentfoundation.org/Development/Mailing_List
Dear fxwan, Could you please submit a patch to gerrit as described here: https://wiki.documentfoundation.org/Development/gerrit/SubmitPatch?
(In reply to Xisco Faulí from comment #5) > Dear fxwan, > Could you please submit a patch to gerrit as described here: > https://wiki.documentfoundation.org/Development/gerrit/SubmitPatch? Setting to NEEDINFO until the reporter gives some signs of life...
Dear Bug Submitter, This bug has been in NEEDINFO status with no change for at least 6 months. Please provide the requested information as soon as possible and mark the bug as UNCONFIRMED. Due to regular bug tracker maintenance, if the bug is still in NEEDINFO status with no change in 30 days the QA team will close the bug as INSUFFICIENTDATA due to lack of needed information. For more information about our NEEDINFO policy please read the wiki located here: https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/NEEDINFO If you have already provided the requested information, please mark the bug as UNCONFIRMED so that the QA team knows that the bug is ready to be confirmed. Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-NeedInfo-Ping-20180731
Dear Bug Submitter, Please read this message in its entirety before proceeding. Your bug report is being closed as INSUFFICIENTDATA due to inactivity and a lack of information which is needed in order to accurately reproduce and confirm the problem. We encourage you to retest your bug against the latest release. If the issue is still present in the latest stable release, we need the following information (please ignore any that you've already provided): a) Provide details of your system including your operating system and the latest version of LibreOffice that you have confirmed the bug to be present b) Provide easy to reproduce steps – the simpler the better c) Provide any test case(s) which will help us confirm the problem d) Provide screenshots of the problem if you think it might help e) Read all comments and provide any requested information Once all of this is done, please set the bug back to UNCONFIRMED and we will attempt to reproduce the issue. Please do not: a) respond via email b) update the version field in the bug or any of the other details on the top section of our bug tracker Warm Regards, QA Team MassPing-NeedInfo-20180903