Re: [dev] st stutter and freeze during window resize via mouse drag

From: Silvan Jegen <s.jegen_AT_gmail.com>
Date: Sat, 5 Apr 2014 21:31:15 +0200

On Sat, Apr 05, 2014 at 08:35:59PM +0200, Christoph Lohmann wrote:
> According to sysprof st is spending on my system most of the time in de‐
> coding utf8. But that’s not what’s hogging the system when running cma‐
> trix(1). The Intel DRM driver is too slow, as it seems. I have the same
> hogging with urxvt and xterm; coming from Intel DRM.

This patch made things better but I still get a substantially different
CPU load when running cmatrix under st (50-60% CPU) compared to running
it under urxvt (around zero).

Find some numbers below recorded using pidstat (on my machine which uses
the Nvidia blob).

Using st to run cmatrix:

Linux 3.13.7-1-ARCH () 04/05/2014 _x86_64_ (8 CPU)

09:09:23 PM UID PID %usr %system %guest %CPU CPU Command
09:09:24 PM 0 464 45.00 0.00 0.00 45.00 4 X
09:09:25 PM 0 464 54.00 0.00 0.00 54.00 4 X
09:09:26 PM 0 464 58.00 0.00 0.00 58.00 4 X
09:09:27 PM 0 464 63.00 0.00 0.00 63.00 4 X
09:09:28 PM 0 464 62.00 0.00 0.00 62.00 4 X
09:09:29 PM 0 464 49.00 0.00 0.00 49.00 4 X
09:09:30 PM 0 464 55.00 0.00 0.00 55.00 4 X
09:09:31 PM 0 464 61.00 0.00 0.00 61.00 4 X
09:09:32 PM 0 464 58.00 0.00 0.00 58.00 4 X
09:09:33 PM 0 464 63.00 0.00 0.00 63.00 4 X
09:09:34 PM 0 464 58.00 0.00 0.00 58.00 4 X
09:09:35 PM 0 464 55.00 0.00 0.00 55.00 4 X
09:09:36 PM 0 464 59.00 0.00 0.00 59.00 4 X
09:09:37 PM 0 464 60.00 0.00 0.00 60.00 4 X
09:09:38 PM 0 464 58.00 0.00 0.00 58.00 4 X
09:09:39 PM 0 464 64.00 0.00 0.00 64.00 4 X
09:09:40 PM 0 464 57.00 0.00 0.00 57.00 4 X
09:09:41 PM 0 464 59.00 0.00 0.00 59.00 4 X
09:09:42 PM 0 464 0.00 0.00 0.00 0.00 4 X
09:09:43 PM 0 464 116.00 0.00 0.00 116.00 4 X
09:09:44 PM 0 464 64.00 0.00 0.00 64.00 4 X
09:09:45 PM 0 464 64.00 0.00 0.00 64.00 4 X
09:09:46 PM 0 464 65.00 0.00 0.00 65.00 4 X
09:09:47 PM 0 464 62.00 0.00 0.00 62.00 4 X
09:09:48 PM 0 464 0.00 0.00 0.00 0.00 4 X
09:09:49 PM 0 464 121.00 0.00 0.00 121.00 4 X
09:09:50 PM 0 464 0.00 0.00 0.00 0.00 4 X

Average: 0 464 56.67 0.00 0.00 56.67 - X


Using urxvt (using a smaller font and thus drawing more characters than
st):

Linux 3.13.7-1-ARCH () 04/05/2014 _x86_64_ (8 CPU)

09:08:28 PM UID PID %usr %system %guest %CPU CPU Command
09:08:29 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:30 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:31 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:32 PM 0 464 0.00 0.00 0.00 0.00 3 X
09:08:33 PM 0 464 0.00 0.00 0.00 0.00 3 X
09:08:34 PM 0 464 0.00 0.00 0.00 0.00 0 X
09:08:35 PM 0 464 0.00 0.00 0.00 0.00 0 X
09:08:36 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:37 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:38 PM 0 464 0.00 0.00 0.00 0.00 3 X
09:08:39 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:40 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:41 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:42 PM 0 464 0.00 0.00 0.00 0.00 3 X
09:08:43 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:44 PM 0 464 0.00 0.00 0.00 0.00 0 X
09:08:45 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:46 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:47 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:48 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:49 PM 0 464 0.00 0.00 0.00 0.00 3 X
09:08:50 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:51 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:52 PM 0 464 0.00 0.00 0.00 0.00 0 X
09:08:53 PM 0 464 0.00 0.00 0.00 0.00 3 X
09:08:54 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:55 PM 0 464 0.00 0.00 0.00 0.00 1 X
09:08:56 PM 0 464 0.00 0.00 0.00 0.00 0 X
09:08:57 PM 0 464 0.00 0.00 0.00 0.00 2 X
09:08:58 PM 0 464 0.00 0.00 0.00 0.00 1 X

Average: 0 464 0.00 0.00 0.00 0.00 - X


I thought the comparison may not be fair since I am using an Xft aliased
font with st but not with urxvt. Using a bitmap font like terminus with
st does seem to increase the load which is probably due to the smaller
fontsize which lets st draw more matrixy caracters:

Linux 3.13.7-1-ARCH () 04/05/2014 _x86_64_ (8 CPU)

09:16:14 PM UID PID %usr %system %guest %CPU CPU Command
09:16:15 PM 0 464 20.00 0.00 0.00 20.00 1 X
09:16:16 PM 0 464 42.00 0.00 0.00 42.00 1 X
09:16:17 PM 0 464 98.00 0.00 0.00 98.00 1 X
09:16:18 PM 0 464 102.00 0.00 0.00 102.00 1 X
09:16:19 PM 0 464 103.00 0.00 0.00 103.00 1 X
09:16:20 PM 0 464 102.00 0.00 0.00 102.00 1 X
09:16:21 PM 0 464 104.00 0.00 0.00 104.00 1 X
09:16:22 PM 0 464 70.00 0.00 0.00 70.00 1 X
09:16:23 PM 0 464 135.00 0.00 0.00 135.00 1 X
09:16:24 PM 0 464 102.00 0.00 0.00 102.00 1 X
09:16:25 PM 0 464 103.00 0.00 0.00 103.00 1 X
09:16:26 PM 0 464 103.00 0.00 0.00 103.00 1 X
09:16:27 PM 0 464 102.00 0.00 0.00 102.00 1 X
09:16:28 PM 0 464 103.00 0.00 0.00 103.00 1 X
09:16:29 PM 0 464 102.00 0.00 0.00 102.00 1 X
09:16:30 PM 0 464 102.00 0.00 0.00 102.00 1 X
09:16:31 PM 0 464 103.00 0.00 0.00 103.00 1 X
09:16:32 PM 0 464 75.00 0.00 0.00 75.00 1 X
09:16:33 PM 0 464 130.00 0.00 0.00 130.00 1 X
09:16:34 PM 0 464 103.00 0.00 0.00 103.00 2 X
09:16:35 PM 0 464 102.00 0.00 0.00 102.00 2 X
09:16:36 PM 0 464 102.00 0.00 0.00 102.00 2 X
09:16:37 PM 0 464 102.00 0.00 0.00 102.00 2 X
09:16:38 PM 0 464 102.00 0.00 0.00 102.00 2 X
09:16:39 PM 0 464 103.00 0.00 0.00 103.00 2 X
09:16:40 PM 0 464 102.00 0.00 0.00 102.00 2 X
09:16:41 PM 0 464 101.00 0.00 0.00 101.00 2 X
09:16:42 PM 0 464 102.00 0.00 0.00 102.00 2 X
09:16:43 PM 0 464 99.00 0.00 0.00 99.00 2 X

Average: 0 464 97.21 0.00 0.00 97.21 - X

I observe a lot more of Xft API calls tracing cmatrix on st with ltrace
which may have something to do with it (I think you mentioned that as
well, Christoph).

I will try to I find the time to investigate further.
Received on Sat Apr 05 2014 - 21:31:15 CEST

This archive was generated by hypermail 2.3.0 : Sat Apr 05 2014 - 21:36:07 CEST