[Calc] Bad rendering performance of "selected copy" snake/circulation animation
ross_dev at hotmail.com
Mon Sep 28 21:25:31 PDT 2015
Sorry in advance if this is the wrong mailing list, I am basically trying to find a tiny bit of help to fix a rendering problem I have and hopefully submit a patch for it, or at least discuss the problem.
I am having some serious rendering performance problems when I perform a copy of cells, for some time now, which is a problem as I use Libreoffice calc pretty much every day as part of my job (running Libreoffice 1:5.0.2~rc2-0ubuntu1~trusty2 on Ubuntu 14.04 64bit).
I decided I could try to fix this problem myself as I am familiar with C++. I am basically looking for a pointer as to where is the code that render the "copy cell circling effect". I am not sure how it is called, but this is what I am talking about at http://s14.postimg.org/6u32kqdq9/Screenshot_from_2015_09_28_23_13_16.png from B2 to I19.
Problem I have:
Right after activating this "circling effect", I can see the libreoffice process jumping as the top CPU user using top, it uses about 30% of one CPU core (I have an i7 3.4 GHz).
In itself I'd say it is bearable, but it becomes a big problem when I scroll down the spreadsheet. A typical issue I can reproduce every time is to move the mouse wheel up and down very fast over the spreadsheet:- CPU on the core goes to 100%.- Libreoffice renders the cells up and down as one would expect when scrolling up and down, BUT the speed at which it does it is very slow, and it can take many seconds between "me not touching the mouse wheel anymore" and the up and down to stop.
There is clearly a slow rendering process going on, coupled with the queuing of all the scrolling events.
What I am trying to figure out:- Where is the code in charge of the rendering of the circulating selecion?- Where is the code that receives/handles the scrolling?
I am really just looking for pointers (i.e. a class name or two) for where to start.
Thanks a lot in advance for your help.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the LibreOffice