X11 test renderer

Charlie Brej plymouth at brej.org
Sun Oct 4 05:10:35 PDT 2009


On 04/10/09 03:16, Ray Strode wrote:
> In your Xorg.0.log do you see:

Nothing in the logs apart from the usual.

> I pushed this.  There was also a problem where I was still doing
> gdk_window_clear on the whole window.  I pushed a fix for that, too.

Brilliant, that one fixed it. I think it was the many stars that were drawn that 
were causing full window redraws.

Solar before
  9700 root      20   0 30796  17m 5776 R 64.3  1.1   0:06.77 plymouthd
  1807 root      20   0 69048  45m  12m S 14.6  3.0   1:20.72 Xorg

Solar after "[x11] Draw to back pixmap instead of on exposes"
  1807 root      20   0 74596  49m  12m R 97.4  3.3   2:07.80 Xorg
  9913 root      20   0 30796  17m 5768 S  1.0  1.1   0:01.97 plymouthd

Solar after "[x11] Tile windows initially" (just to show nothing between 
effected it)
  1807 root      20   0 73984  50m  12m R 97.4  3.3   3:04.89 Xorg
10125 root      20   0 30700  17m 5772 S  0.7  1.1   0:01.82 plymouthd

Solar after "[x11] Don't draw to intermediate surface"
  1807 root      20   0 73012  46m  12m R 85.2  3.1   3:50.10 Xorg
10447 root      20   0 30708  16m 5612 R 11.9  1.1   0:02.31 plymouthd

Solar after "[x11] Only redraw the parts that are updated"
10896 root      20   0 30672  16m 5496 R 65.0  1.1   0:06.84 plymouthd
  1807 root      20   0 72856  45m  12m R 14.9  3.0   4:09.42 Xorg

Solar after "[x11] Throttle plymouth to X server"
11135 root      20   0 30672  16m 5488 R 58.0  1.1   0:06.39 plymouthd
  1807 root      20   0 73112  46m  12m S 26.5  3.1   4:14.13 Xorg

>> This one seems not to have any effect.
> I changed this to do a 1x1 XGetImage call, which is a little more
> reliable way of ensuring things are throttled than the XSync call.

It is hitting the X a little itself.

>> With the patch reverted, X uses 11% and it runs at about 5 frames per sec
>> (understandable on an Athlon 2000). This is using the commercial nvidia
>> driver.
> None of the the themes render faster than 5 fps on your machine?

No, just the solar one and some scripted ones which have lots of activity, the 
others are fine. Because it has 2 screens, it goes at half speed and I am only 
counting the planet refreshes which happen once every 2 frames.

> For me stats are much lower now, charge, for instance, is:
 >
> 20404 root      20   0  221m  32m  11m R 11.8  0.8  12:17.19 Xorg
> 24707 root      20   0  216m  12m 5236 S  7.5  0.3   0:01.20 plymouthd
>
> 12% Xorg, 8% plymouthd

Charge before:
  1807 root      20   0 75408  48m  12m S 65.6  3.2   5:19.11 Xorg
12146 root      20   0 26564  12m 5636 S  3.0  0.9   0:00.52 plymouthd
Charge after:
11544 root      20   0 26544  12m 5556 S  4.0  0.8   0:00.47 plymouthd
  1807 root      20   0 73564  49m  12m S  3.3  3.3   4:46.86 Xorg

> and spinfinity is like 20% Xorg, 8% plymouthd

Spinfinity before:
  1807 root      20   0 75660  48m  12m R 93.1  3.2   5:05.37 Xorg
12016 root      20   0 24308  10m 5736 S  3.0  0.7   0:00.34 plymouthd
Spinfinity after:
  1807 root      20   0 73564  49m  12m S 11.3  3.3   4:52.86 Xorg
11802 root      20   0 24292  10m 5648 S  3.6  0.7   0:00.35 plymouthd

You can see the plymouthd cpu didnt drop much so the frame rates were still 
reasonable, but X was being caned.


More information about the plymouth mailing list