<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 7, 2015 at 9:05 PM, Lubomir I. Ivanov <span dir="ltr"><<a href="mailto:neolit123@gmail.com" target="_blank">neolit123@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 8 January 2015 at 00:10, Tomaz Canabrava <<a href="mailto:tcanabrava@kde.org">tcanabrava@kde.org</a>> wrote:<br>
><br>
><br>
> On Wed, Jan 7, 2015 at 7:10 PM, Lubomir I. Ivanov <<a href="mailto:neolit123@gmail.com">neolit123@gmail.com</a>><br>
> wrote:<br>
>><br>
>> win64, dual core cpu<br>
>><br>
>> general performance drops are observed in both official binaries and<br>
>> my local debug build.<br>
>> of course we can wait until *actual* users complain, instead of me.<br>
>> just a report, as i don't have time to fix any of that ATM. perhaps<br>
>> later this month...<br>
>><br>
>> i guess this is mostly in Tomaz' field.<br>
>><br>
>> with the recent addition of the mean depth line and text, i've noticed<br>
>> further increase of cpu usage when hovering the profile. so i've<br>
>> started "profiling the profile" to see what are the main causes for<br>
>> the high cpu usage 30%.<br>
>><br>
>> i've realized it's a multitude of things and all contribute a<br>
>> millisecond or two so that it takes a while to render a frame in the<br>
>> UI thread. to explain the issue i'm describing, imagine the mean depth<br>
>> line jumping at 500ms intervals instead of smoothly following the<br>
>> mouse.<br>
><br>
><br>
> Actually, the line doesn't smootly follows the mouse for other reasons,<br>
> if you see that the tooltipitem is not smootly updating, then there's a real<br>
> issue.<br>
><br>
> the line doesn't smootly follows the mouse because my implementation for it<br>
> is wrong:<br>
> if the current mouse position is not at a time that exists in the plot_info<br>
> datastructure, it will not<br>
> generate a line for that position.<br>
><br>
> belive me, I'v tested by creating fake information and it worked.<br>
><br>
<br>
</div></div>aha i see, but if i disable the hover code completely it's much<br>
smoother in a way - no 500ms delays if moving quickly.<br>
<span class=""><br>
>><br>
>><br>
>> 1) the main hog is ToolTipItem - 20%<br>
>> perhaps elements can be re-used instead of re-creating them each time<br>
>> the mouse moves.<br>
>> also, we can possibly get rid of the animation and store some of the<br>
>> VALUE / 2 operations in VALUE_D_2 consts. etc...<br>
>> not sure how well this will work without testing it.<br>
><br>
><br>
> The current API of the ToolTipItem supports this, but the main tooltip used<br>
> is a *huge* text, sometimes with more than 16 lines of code<br>
> we need to clean that - urgently.<br>
><br>
<br>
</span>i was wondering if it would be possible to populate (allocate) the<br>
tooltip with the maximum number of data elements ever to be used and<br>
only show arrange elements when needed and resize the rectangle based<br>
on that.<br></blockquote><div><br></div><div>The tooltip currently contains *one* item, each new line is just a massive string passed to it.<br></div><div>so, I think most of the work is done by allocating that string, deleting it, generating the pixmap to be displayed ( rendering of fonts is always a massive cpu hog, the background of the notification is semitranslucent and it grows / shrinks.<br><br></div><div>I wanna a bit of help iwth it.<br></div><div>I wanna a bit of help with moving a node in the Add Dive, most of all.<br>that's very sluggish and I was unable to solve. =/<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
addToolTip() / clear() seem to use the most cpu.<br>
<span class=""><br>
>><br>
>> 2) those extra 10% are caused by the new<br>
>> InstantMeanDepthLine::mouseMoved()<br>
>> as it calculates based on the running average each time instead of<br>
>> using a lookup table.<br>
><br>
><br>
> Hm... can you ( or anyone else ) help me to create a lookup table?<br>
><br>
<br>
</span>will post again in a moment.<br>
<br>
lubomir<br>
--<br>
</blockquote></div><br></div></div>