Keith Packard <[email protected]> writes:

> I've started writing some "optimized" poly text code for glamor; the
> current results aren't working right (it paints the wrong pixels), and
> the performance sucks. But, at least the CPU is almost entirely idle.

Ok, that poor performance is just an artifact of Xephyr screen updates
and the smart scheduler interacting badly. I'm now running Xephyr with:

$ ./Xephyr :1 -retro -screen 1024x768 -schedMax 1000

I've finished all of the text interfaces now and performance is
reasonably good. Here's -ftext -fitext -aftext for comparison:

32000000 reps @   0.0002 msec (6130000.0/sec): Char in 80-char line (6x13)
32000000 reps @   0.0002 msec (6150000.0/sec): Char in 80-char line (6x13)
32000000 reps @   0.0002 msec (6210000.0/sec): Char in 80-char line (6x13)
32000000 reps @   0.0002 msec (6230000.0/sec): Char in 80-char line (6x13)
32000000 reps @   0.0002 msec (6230000.0/sec): Char in 80-char line (6x13)
160000000 trep @   0.0002 msec (6190000.0/sec): Char in 80-char line (6x13)

32000000 reps @   0.0002 msec (5990000.0/sec): Char in 80-char image line (6x13)
32000000 reps @   0.0002 msec (6110000.0/sec): Char in 80-char image line (6x13)
32000000 reps @   0.0002 msec (5950000.0/sec): Char in 80-char image line (6x13)
32000000 reps @   0.0002 msec (5570000.0/sec): Char in 80-char image line (6x13)
32000000 reps @   0.0002 msec (5610000.0/sec): Char in 80-char image line (6x13)
160000000 trep @   0.0002 msec (5840000.0/sec): Char in 80-char image line 
(6x13)

The rendering for x11perf looks correct, but other clients still have
occasional issues.

The CPU is saturated at this rate, and the GPU is about 66%
occupied. I suspect both bits of code could get some speed ups, although
correctness will be the first plan.

For comparison, here's the same x11perf run without the -glamor flag

48000000 reps @   0.0001 msec (9150000.0/sec): Char in 80-char line (6x13)
48000000 reps @   0.0001 msec (9090000.0/sec): Char in 80-char line (6x13)
48000000 reps @   0.0001 msec (9120000.0/sec): Char in 80-char line (6x13)
48000000 reps @   0.0001 msec (9140000.0/sec): Char in 80-char line (6x13)
48000000 reps @   0.0001 msec (8890000.0/sec): Char in 80-char line (6x13)
240000000 trep @   0.0001 msec (9080000.0/sec): Char in 80-char line (6x13)

48000000 reps @   0.0001 msec (8230000.0/sec): Char in 80-char image line (6x13)
48000000 reps @   0.0001 msec (8230000.0/sec): Char in 80-char image line (6x13)
48000000 reps @   0.0001 msec (8210000.0/sec): Char in 80-char image line (6x13)
48000000 reps @   0.0001 msec (8260000.0/sec): Char in 80-char image line (6x13)
48000000 reps @   0.0001 msec (8230000.0/sec): Char in 80-char image line (6x13)
240000000 trep @   0.0001 msec (8230000.0/sec): Char in 80-char image line 
(6x13)


So, glamor is about 2/3 the performance of software, and that's after
only a few hours of coding by someone who has (literally) never written
a GLSL program before today.

-- 
[email protected]

Attachment: pgprsUPOxVwoz.pgp
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to