thaolt / qscite

Automatically exported from code.google.com/p/qscite
GNU General Public License v2.0
0 stars 0 forks source link

QTerminal delay for large outputs #28

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Any shell command that outputs more than a few lines of text suffers a
delay that regularly amounts to several seconds. I haven't read the
QTerminal source lately, but with QTerminal perhaps acquiring a life of its
own, it's probably time to find and correct the bottleneck.

Original issue reported on code.google.com by bfrobin...@gmail.com on 17 Jul 2008 at 8:56

GoogleCodeExporter commented 8 years ago
Looks like the problem is that as long as there's text available we keep 
processing
character by character (lots of overhead) and never make it back to the event 
loop to
redraw.
The Compiz feature that grays out windows that aren't responding should be 
standard
on all new window managers.

Original comment by bfrobin...@gmail.com on 18 Jul 2008 at 2:19

GoogleCodeExporter commented 8 years ago
I see.  I think there's a way to force a gui update in Qt, but I need to 
research that...

Original comment by jpsut...@gmail.com on 18 Jul 2008 at 2:23

GoogleCodeExporter commented 8 years ago
We can force Qt to process the event queue (including the Gui events) using
"qApp->processEvents();", however, I'm not sure that's the best solution.

Ben, is there a way to throw the pseudo-terminal in it's own thread so we don't 
have
to update the Gui thread ourselves?

Original comment by jpsut...@gmail.com on 18 Jul 2008 at 11:04

GoogleCodeExporter commented 8 years ago
As of r149, the GUI is synced up each time a newline is processed during output 
in
QTerminal.

Original comment by jpsut...@gmail.com on 22 Aug 2008 at 5:28

GoogleCodeExporter commented 8 years ago

Original comment by jpsut...@gmail.com on 22 Aug 2008 at 5:29

GoogleCodeExporter commented 8 years ago
Pardon my previous comment.  I meant to say that the change is as of r150.

Original comment by jpsut...@gmail.com on 22 Aug 2008 at 5:31

GoogleCodeExporter commented 8 years ago
Works on Linux with a noticeable performance improvement.
Reopening the ticket because I think I can score some further gains.

Original comment by bfrobin...@gmail.com on 22 Aug 2008 at 1:57

GoogleCodeExporter commented 8 years ago
As of r157 we do block reads from the pty.
To get any faster we need to do block inserts of plain text into the window.
Shouldn't be too hard now that escape sequence processing is sane.

Original comment by bfrobin...@gmail.com on 27 Aug 2008 at 3:04

GoogleCodeExporter commented 8 years ago
Implemented the block inserts of plain text into the window as of r162. I think 
it's
fast enough now.

Original comment by bfrobin...@gmail.com on 16 Sep 2008 at 5:32