Apache OpenOffice (AOO) Bugzilla – Issue 101372
Slide show updates canvas twice per frame
Last modified: 2017-05-20 11:08:25 UTC
In SlideShowImpl::update() there are two calls to maScreenUpdater.commitUpdates(). In some cases this can lead to two updates of the canvas and thereby almost doubling the time it takes to render each frame. One such case is per-characte animation of text. Reduce this to just one call to commitUpdates().
The second call to commitUpdates() is made for two reasons: 1) The last step in an animation is not done like the other steps by calling perform() on the activity object from ActivitiesQueue::process. For performance reasons it is done after the activity has been removed from the queue in ActivitiesQueue::processDequeued(). Also the last step is not painted by use of sprites but by painting the animated sprite in its final configuration directly to the canvas. 2) Hiding or showing the wait symbol also leads to update of the canvas. That update, however, is not properly synchronized with the display of animated shapes and thus can lead to the display of intermediate shape states. Possible solution: Regarding 1) can maybe be solved by keeping every activity alive one more frame. The last step in the animation is performed like every other step before. Before the sprite is removed the shape is painted in its new configuration. Only after that the activity is deactivated and the sprite is removed.
Changing target to OOo 3.3.
Changing target due to time constraints.
Changing target.
Reset assigne to the default "issues@openoffice.apache.org".