News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

Slow scrolling? [Ubuntu]

Started by Nosferax, March 11, 2010, 12:24:52 AM

Previous topic - Next topic

Jenna

As far as I see, it works fine on windows 7 with wx2.8 and actual trunk.

By the way:
the patch I attached above works flawlessly with my tortoise 1.7.7, so it might be (another) issue of SmartSVN with patches.

dmoore

Quote from: jens on July 24, 2012, 01:54:04 PM
As far as I see, it works fine on windows 7 with wx2.8 and actual trunk.

Any thoughts on removing the ticket #9057 junk?

Also, the advantage of patching wx instead of scintilla is at least the wx guys are likely to accept the patch in the next 5 years. :)
Python plugins: [url="https://github.com/spillz/codeblocks-python"]https://github.com/spillz/codeblocks-python[/url]
Code::Blocks Daily Builds -- Ubuntu PPA: [url="https://launchpad.net/~damien-moore/+archive/codeblocks"]https://launchpad.net/~damien-moore/+archive/codeblocks[/url]

Jenna

Quote from: dmoore on July 24, 2012, 03:17:36 PM
Quote from: jens on July 24, 2012, 01:54:04 PM
As far as I see, it works fine on windows 7 with wx2.8 and actual trunk.

Any thoughts on removing the ticket #9057 junk?

Also, the advantage of patching wx instead of scintilla is at least the wx guys are likely to accept the patch in the next 5 years. :)
I will open a ticket there or probably reopen #9057 this evening.

And as far as I can see the "workaround" is no longer needed and can therefore be removed.

Other devs:
any objections against doing it ?
Removing the #9057 "workaround" and the problematic call to update ?

If not I will commit it this evening.

If the whole C::B breaks down  :P , we can still revert it.

Jenna


Kalith

That is good news! Does that mean we'll see these patches applied in the next nightly?

Jenna

Quote from: Kalith on July 30, 2012, 02:44:13 AM
That is good news! Does that mean we'll see these patches applied in the next nightly?
We do not use wxSTC, but a more or less patrched version based on it.

The changes are in our sources since a week and will therefore be in the next nightly, or if you use my debian or RedHat/CentOS repo you have it there already.

Kalith

I can confirm the two patches work very well. Thank you :)

secks

the patches did speed it up a bit .. instead of getting 20 some lines i now get around 100 per full-wheel-scroll :) a coworker here was only scrolling 3 or so lines lol .. his bumped up to around 30 now .. weeeeeeeeeeee!  thanks for taking time on this one everyone

Alpha

Quote from: jens on July 24, 2012, 10:33:56 AM
It's basically the same, it avoids the call of wxWindows::Update() on every scrol, which immediately updates the whole invalidated area.
But the original scintilla Redraw() invalidates the whole client area and the other one (most likely) only the scrolled part.
It seems that matching brace highlights, which should be invalidated (and redrawn) no longer are consistently.

int main()
{
    return 0;
}|

Place the cursor where the pipe symbol is, then press the up arrow key once.  The first curly brace remains highlighted.

Could this be related to the changes discussed in this thread?

(Ubuntu LTS 32bit; svn 8328)

Jenna

Quote from: Alpha on September 02, 2012, 04:18:50 AM
Quote from: jens on July 24, 2012, 10:33:56 AM
It's basically the same, it avoids the call of wxWindows::Update() on every scrol, which immediately updates the whole invalidated area.
But the original scintilla Redraw() invalidates the whole client area and the other one (most likely) only the scrolled part.
It seems that matching brace highlights, which should be invalidated (and redrawn) no longer are consistently.

int main()
{
    return 0;
}|

Place the cursor where the pipe symbol is, then press the up arrow key once.  The first curly brace remains highlighted.

Could this be related to the changes discussed in this thread?

(Ubuntu LTS 32bit; svn 8328)
I can not reproduce it here.

Alpha

Quote from: jens on September 02, 2012, 08:54:00 AM
I can not reproduce it here.

word word word word word word word word

word word word word word


word word word word word word word word


word word


word word word

Select the last "word" - all of the words should be highlighted (this is normal).  Press the up arrow key once.  On Windows Vista; svn 8330, all the words except the last three remain highlighted.

If no one can duplicate it, maybe something is wrong with my computer.  (However, I do not believe this is the case.  These problems are not present in my tests of svn 8133.)

dmoore

#71
Quote from: Alpha on September 03, 2012, 01:55:28 AM
Quote from: jens on September 02, 2012, 08:54:00 AM
I can not reproduce it here.

... word ...

Select the last "word" - all of the words should be highlighted (this is normal).  Press the up arrow key once.  On Windows Vista; svn 8330, all the words except the last three remain highlighted.

If no one can duplicate it, maybe something is wrong with my computer.  (However, I do not believe this is the case.  These problems are not present in my tests of svn 8133.)
I confirm (ubuntu 12.04, latest trunk). Why do these features rely on the update call and other feature not?
Python plugins: [url="https://github.com/spillz/codeblocks-python"]https://github.com/spillz/codeblocks-python[/url]
Code::Blocks Daily Builds -- Ubuntu PPA: [url="https://launchpad.net/~damien-moore/+archive/codeblocks"]https://launchpad.net/~damien-moore/+archive/codeblocks[/url]

Jenna

If I move the caret away from the selected word, the word gets unselected and all the other highlighted words are shown normal.

dmoore

Quote from: jens on September 04, 2012, 09:17:02 PM
If I move the caret away from the selected word, the word gets unselected and all the other highlighted words are shown normal.

Well, I still have the problem, but it has nothing to do with the small patch you applied here. I tried reverting the patch and it made no difference. Also tried from a fresh config and still have the problem. Note that the problem only occurs when you move the cursor with either keyboard or mouse, but don't scroll. As soon as you scroll the full screen refreshes.
Python plugins: [url="https://github.com/spillz/codeblocks-python"]https://github.com/spillz/codeblocks-python[/url]
Code::Blocks Daily Builds -- Ubuntu PPA: [url="https://launchpad.net/~damien-moore/+archive/codeblocks"]https://launchpad.net/~damien-moore/+archive/codeblocks[/url]

dmoore

This patch might do the trick, but not sure if that kills performance on Linux again


Index: src/sdk/cbeditor.cpp
===================================================================
--- src/sdk/cbeditor.cpp (revision 8351)
+++ src/sdk/cbeditor.cpp (working copy)
@@ -502,6 +504,8 @@
         // Set Styling:
         // clear all style indications set in a previous run (is also done once after text gets unselected)
         m_pOwner->GetControl()->IndicatorClearRange(0, eof);
+        m_pOwner->GetControl()->Refresh();

         // check that feature is enabled,
         // selected text has a minimal length of 3 and contains no spaces
Python plugins: [url="https://github.com/spillz/codeblocks-python"]https://github.com/spillz/codeblocks-python[/url]
Code::Blocks Daily Builds -- Ubuntu PPA: [url="https://launchpad.net/~damien-moore/+archive/codeblocks"]https://launchpad.net/~damien-moore/+archive/codeblocks[/url]