X11PERF(1)
X11PERF(1) ๐ โ General Commands Manual
๐ NAME ๐
x11perf โ the X11 server performance test program, bestie. It's giving "let's benchmark the whole vibe" โจ
๐ธ SYNTAX ๐ธ
x11perf [ -option ... ]
๐ฆ DESCRIPTION ๐ฆ
Okay so x11perf runs one or more performance tests and reports how fast an X server can execute those tests. Main character energy for your server, honestly.
A lot of graphics benchmarks assume the graphics device is only there to display the output of one fancy graphics application, and that the user gets their work done on some other device, like a terminal. Those benchmarks usually measure drawing speed for lines, polygons, text, etc. Cute, but not the whole story.
Since workstations are not used as standalone graphics engines but as super-terminals, x11perf measures window management performance as well as traditional graphics performance. It includes benchmarks for the time it takes to create and map windows (like when you start up an application); to map a pre-existing set of windows onto the screen (like when you deiconify an application or pop up a menu); and to rearrange windows (like when you slosh windows to and fro trying to find the one you want). Very "where did that window go" of it.
x11perf also measures graphics performance for operations not normally used in standalone graphics displays, but nonetheless used frequently by X applications. Those operations include CopyPlane (used to map bitmaps into pixels), scrolling (used in text windows), and various stipples and tiles (used for CAD and color half-toning, respectively).
x11perf should be used to analyze particular strengths and weaknesses of servers, and it's most useful to a server writer who wants to analyze and improve a server. It's meant to comprehensively exercise just about every X11 operation you can perform; it does not purport to be a representative sample of the operations that X11 applications actually use. While it can be used as a benchmark, it was written and is intended as a performance testing tool. Periodt.
As such, x11perf DOES NOT whittle down measurements to a single HeXStones'' or MeXops'' number. We consider such numbers to be uninformative at best and misleading at worst. Some servers which are very fast for certain applications can be very slow for others. No single number or small set of numbers are sufficient to characterize how an X implementation will perform on all applications. However, by knowledge of your favorite application, you may be able to use the numbers x11perf reports to predict its performance on a given X implementation. Iykyk.
That said, you might also want to look at x11perfcomp(1), a program to compare the outputs of different x11perf runs. You provide a list of files containing results from x11perf, and it lays them out in a nice tabular format. Obsessed with a tidy table, ngl.
For repeatable results, x11perf should be run using a local connection on a freshly-started server. The default configuration runs each test 5 times, in order to see if each trial takes approximately the same amount of time. Strange glitches should be examined; if non-repeatable one might chalk them up to daemons and network traffic. Each trial is run for 5 seconds, in order to reduce random time differences. The number of objects processed per second is displayed to 3 significant digits, but you'll be lucky on most UNIX system if the numbers are actually consistent to 2 digits. x11perf moves the cursor out of the test window; you should be careful not to bump the mouse and move it back into the window. (A prize to people who correctly explain why!!). ๐
Before running a test, x11perf determines what the round trip time to the server is, and factors this out of the final timing reported. It ensures that the server has actually performed the work requested by fetching a pixel back from the test window, which means that servers talking to graphics accelerators can't claim that they are done, while in the meantime the accelerator is painting madly. No faking the funk ๐
By default x11perf automatically calibrates the number of repetitions of each test, so that each should take approximately the same length of time to run across servers of widely differing speeds. However, since each test must be run to completion at least once, some slow servers may take a very long time, particularly on the window moving and resizing tests, and on the arc drawing tests. Slow server bestie, we're rooting for you ๐ญ
All timing reports are for the smallest object involved. For example, the line tests use a PolyLine request to paint several lines at once, but report how many lines per second the server can paint, not how many PolyLine requests per second. Text tests paint a line of characters, but report on the number of characters per second. Some window tests map, unmap, or move a single parent window, but report on how many children windows per second the server can map, unmap, or move. Smallest-object reporting is the moment, fr fr.
The current program is mostly the responsibility of Joel McCormack. It is based upon the x11perf developed by Phil Karlton, Susan Angebranndt, Chris Kent, Mary Walker, and Todd Newman, who wanted to assess performance differences between various servers. Several tests were added in order to write and tune the PMAX (DECStation 3100) servers. For a general release to the world, x11perf was rewritten to ease making comparisons between widely varying machines, to cover most important (and unimportant) X functionality, and to exercise graphics operations in as many different orientations and alignments as possible. Iconic origin story, no cap ๐
โจ OPTIONS โจ
x11perf is solely Xlib based, and accepts the options listed below:
-display host:dpyโ Specifies which display to use.-syncโ Runs the tests in synchronous mode. Normally only useful for debuggingx11perf.-packโ Runs rectangle tests so that they pack rectangles right next to each other. This makes it easy to debug server code for stipples and tiles...if the pattern looks ugly, you've got alignment problems. ๐-repeat <n>โ Repeats each test n times (by default each test is run 5 times).-time <s>โ Specifies how long in seconds each test should be run (default 5 seconds).-pause <s>โ Specifies how long, in seconds, to pause for between each run.-allโ Runs all tests. This may take a while. Grab a snack ๐-range <test1>[,<test2>]โ Runs all the tests starting from the specified name test1 until the name test2, including both the specified tests. The testnames should be one of the options starting from-dot. (eg)-range line100will perform the tests from the 100 pixel line test, and go on till the last test,-range line100,dline10will do the tests fromline100todline10.-labelsโ Generates just the descriptive labels for each test specified. Seex11perfcompfor more details.-fg color-or-pixelโ Specifies the foreground color or pixel value to use.-bg color-or-pixelโ Specifies the background color or pixel value to use.-clips defaultโ Default number of clip windows.-ddbg color-or-pixelโ Specifies the color or pixel value to use for drawing the odd segments of aDoubleDashedline or arc. This will default to thebgcolor.-rop <rop0 rop1 ...>โ Use specified raster ops (default isGXcopy). This option only affects graphics benchmarks in which the graphics function is actually used.-pm <pm0 pm1 ...>โ Use specified planemasks (default is~0). This option only affects graphics benchmarks in which the planemask is actually used.-depth <depth>โ Use a visual with<depth>planes per pixel (default is the default visual).-vclass <vclass>โ Use a visual whose class is<vclass>.<vclass>can beStaticGray,GrayScale,StaticColor,PseudoColor,TrueColor, orDirectColor. (default is the default visual).-reps <n>โ Specify the repetition count (Default is number that takes approx. 5 seconds).-subs <s0 s1 ...>โ Specify the number of sub windows to use in the Window tests. Default is 4, 16, 25, 50, 75, 100 and 200.-v1.2โ Perform onlyx11perfVersion 1.2 tests using Version 1.2 semantics.-v1.3โ Perform onlyx11perfVersion 1.3 tests using Version 1.3 semantics.-v1.4โ Perform onlyx11perfVersion 1.4 tests using Version 1.4 semantics.-v1.5โ Perform onlyx11perfVersion 1.5 tests using Version 1.5 semantics.-v1.6โ Perform onlyx11perfVersion 1.6 tests using Version 1.6 semantics.-v1.7โ Perform onlyx11perfVersion 1.7 tests using Version 1.7 semantics.-versionโ Print program version and exit.-suโ Set thesave_underwindow attribute toTrueon all windows created byx11perf. Default isFalse.-bs <backing_store_hint>โ Set thebacking_storewindow attribute to the given value on all windows created byx11perf.<backing_store_hint>can beWhenMappedorAlways. Default isNotUseful.-help [options|tests|all]โ Print information about available options and exit. If no argument is specified, oroptionsis specified, just prints information about general options, but does not include the long list of options for running specific tests. Iftestsis specified, just prints the long list of options for running specific tests. Ifallis specified, prints information about both sets of options. If-vversionis also specified, the list of options for running specific tests will be limited to the tests for that version.
๐งช Options for running specific tests ๐งช
-dotโ Dot.-rect1โ 1x1 solid-filled rectangle.-rect10โ 10x10 solid-filled rectangle.-rect100โ 100x100 solid-filled rectangle.-rect500โ 500x500 solid-filled rectangle.-srect1โ 1x1 transparent stippled rectangle, 8x8 stipple pattern.-srect10โ 10x10 transparent stippled rectangle, 8x8 stipple pattern.-srect100โ 100x100 transparent stippled rectangle, 8x8 stipple pattern.-srect500โ 500x500 transparent stippled rectangle, 8x8 stipple pattern.-osrect1โ 1x1 opaque stippled rectangle, 8x8 stipple pattern.-osrect10โ 10x10 opaque stippled rectangle, 8x8 stipple pattern.-osrect100โ 100x100 opaque stippled rectangle, 8x8 stipple pattern.
okay bestie we're deep in the option buffet now โ hydrate, stretch, and keep scrolling, because every single one of these is a real flag and I'm not skipping a single crumb ๐
-osrect500โ a 500x500 opaque stippled rectangle, 8x8 stipple pattern.-tilerect1โ a 1x1 tiled rectangle, 4x4 tile pattern.-tilerect10โ a 10x10 tiled rectangle, 4x4 tile pattern.-tilerect100โ a 100x100 tiled rectangle, 4x4 tile pattern.-tilerect500โ a 500x500 tiled rectangle, 4x4 tile pattern.-oddsrect1โ a 1x1 transparent stippled rectangle, 17x15 stipple pattern.-oddsrect10โ a 10x10 transparent stippled rectangle, 17x15 stipple pattern.-oddsrect100โ a 100x100 transparent stippled rectangle, 17x15 stipple pattern.-oddsrect500โ a 500x500 transparent stippled rectangle, 17x15 stipple pattern.-oddosrect1โ a 1x1 opaque stippled rectangle, 17x15 stipple pattern.-oddosrect10โ a 10x10 opaque stippled rectangle, 17x15 stipple pattern.-oddosrect100โ a 100x100 opaque stippled rectangle, 17x15 stipple pattern.-oddosrect500โ a 500x500 opaque stippled rectangle, 17x15 stipple pattern.-oddtilerect1โ a 1x1 tiled rectangle, 17x15 tile pattern.-oddtilerect10โ a 10x10 tiled rectangle, 17x15 tile pattern.-oddtilerect100โ a 100x100 tiled rectangle, 17x15 tile pattern.-oddtilerect500โ a 500x500 tiled rectangle, 17x15 tile pattern.-bigsrect1โ a 1x1 stippled rectangle, 161x145 stipple pattern.-bigsrect10โ a 10x10 stippled rectangle, 161x145 stipple pattern.-bigsrect100โ a 100x100 stippled rectangle, 161x145 stipple pattern.-bigsrect500โ a 500x500 stippled rectangle, 161x145 stipple pattern.-bigosrect1โ a 1x1 opaque stippled rectangle, 161x145 stipple pattern.-bigosrect10โ a 10x10 opaque stippled rectangle, 161x145 stipple pattern.-bigosrect100โ a 100x100 opaque stippled rectangle, 161x145 stipple pattern.-bigosrect500โ a 500x500 opaque stippled rectangle, 161x145 stipple pattern.-bigtilerect1โ a 1x1 tiled rectangle, 161x145 tile pattern.-bigtilerect10โ a 10x10 tiled rectangle, 161x145 tile pattern.-bigtilerect100โ a 100x100 tiled rectangle, 161x145 tile pattern.-bigtilerect500โ a 500x500 tiled rectangle, 161x145 tile pattern.-eschertilerect1โ a 1x1 tiled rectangle, 215x208 tile pattern.-eschertilerect10โ a 10x10 tiled rectangle, 215x208 tile pattern.-eschertilerect100โ a 100x100 tiled rectangle, 215x208 tile pattern.-eschertilerect500โ a 500x500 tiled rectangle, 215x208 tile pattern.
rectangles: done. lines era: loadingโฆ ๐ฆ
-seg1โ 1-pixel thin line segment.-seg10โ 10-pixel thin line segment.-seg100โ 100-pixel thin line segment.-seg500โ 500-pixel thin line segment.-seg100c1โ 100-pixel thin line segment (1 obscuring rectangle).-seg100c2โ 100-pixel thin line segment (2 obscuring rectangles).-seg100c3โ 100-pixel thin line segment (3 obscuring rectangles).-dseg10โ 10-pixel thin dashed segment (3 on, 2 off).-dseg100โ 100-pixel thin dashed segment (3 on, 2 off).-ddseg100โ 100-pixel thin double-dashed segment (3 fg, 2 bg).-hseg10โ 10-pixel thin horizontal line segment.-hseg100โ 100-pixel thin horizontal line segment.-hseg500โ 500-pixel thin horizontal line segment.-vseg10โ 10-pixel thin vertical line segment.-vseg100โ 100-pixel thin vertical line segment.-vseg500โ 500-pixel thin vertical line segment.-whseg10โ 10-pixel wide horizontal line segment.-whseg100โ 100-pixel wide horizontal line segment.-whseg500โ 500-pixel wide horizontal line segment.-wvseg10โ 10-pixel wide vertical line segment.-wvseg100โ 100-pixel wide vertical line segment.-wvseg500โ 500-pixel wide vertical line segment.-line1โ 1-pixel thin (width 0) line.-line10โ 10-pixel thin line.-line100โ 100-pixel thin line.-line500โ 500-pixel thin line.-dline10โ 10-pixel thin dashed line (3 on, 2 off).-dline100โ 100-pixel thin dashed line (3 on, 2 off).-ddline100โ 100-pixel thin double-dashed line (3 fg, 2 bg).-wline10โ 10-pixel line, line width 1.-wline100โ 100-pixel line, line width 10.-wline500โ 500-pixel line, line width 50.-wdline100โ 100-pixel dashed line, line width 10 (30 on, 20 off).-wddline100โ 100-pixel double-dashed line, line width 10 (30 fg, 20 bg).-orect10โ 10x10 thin rectangle outline.-orect100โ 100-pixel thin vertical line segment. (yes, literally what the page says โ I'm not gaslighting you, I'm just transcribing ๐)-orect500โ 500-pixel thin vertical line segment. (same deal, bestie โ copying faithfully โจ)-worect10โ 10x10 wide rectangle outline.-worect100โ 100-pixel wide vertical line segment.-worect500โ 500-pixel wide vertical line segment.
circles!! the shape of the season ๐
-circle1โ 1-pixel diameter thin (line width 0) circle.-circle10โ 10-pixel diameter thin circle.-circle100โ 100-pixel diameter thin circle.-circle500โ 500-pixel diameter thin circle.-dcircle100โ 100-pixel diameter thin dashed circle (3 on, 2 off).-ddcircle100โ 100-pixel diameter thin double-dashed circle (3 fg, 2 bg).-wcircle10โ 10-pixel diameter circle, line width 1.-wcircle100โ 100-pixel diameter circle, line width 10.-wcircle500โ 500-pixel diameter circle, line width 50.-wdcircle100โ 100-pixel diameter dashed circle, line width 10 (30 on, 20 off).-wddcircle100โ 100-pixel diameter double-dashed circle, line width 10 (30 fg, 20 bg).-pcircle10โ 10-pixel diameter thin partial circle, orientation and arc angle evenly distributed.-pcircle100โ 100-pixel diameter thin partial circle.-wpcircle10โ 10-pixel diameter wide partial circle.-wpcircle100โ 100-pixel diameter wide partial circle.-fcircle1โ 1-pixel diameter filled circle.-fcircle10โ 10-pixel diameter filled circle.-fcircle100โ 100-pixel diameter filled circle.-fcircle500โ 500-pixel diameter filled circle.-fcpcircle10โ 10-pixel diameter partial filled circle, chord fill, orientation and arc angle evenly distributed.-fcpcircle100โ 100-pixel diameter partial filled circle, chord fill.-fspcircle10โ 10-pixel diameter partial filled circle, pie slice fill, orientation and arc angle evenly distributed.-fspcircle100โ 100-pixel diameter partial filled circle, pie slice fill.
ellipses, the circle's more mysterious cousin ๐ง
-ellipse10โ 10-pixel diameter thin (line width 0) ellipse, major and minor axis sizes evenly distributed.-ellipse100โ 100-pixel diameter thin ellipse.-ellipse500โ 500-pixel diameter thin ellipse.-dellipse100โ 100-pixel diameter thin dashed ellipse (3 on, 2 off).-ddellipse100โ 100-pixel diameter thin double-dashed ellipse (3 fg, 2 bg).-wellipse10โ 10-pixel diameter ellipse, line width 1.-wellipse100โ 100-pixel diameter ellipse, line width 10.-wellipse500โ 500-pixel diameter ellipse, line width 50.-wdellipse100โ 100-pixel diameter dashed ellipse, line width 10 (30 on, 20 off).-wddellipse100โ 100-pixel diameter double-dashed ellipse, line width 10 (30 fg, 20 bg).-pellipse10โ 10-pixel diameter thin partial ellipse.-pellipse100โ 100-pixel diameter thin partial ellipse.-wpellipse10โ 10-pixel diameter wide partial ellipse.-wpellipse100โ 100-pixel diameter wide partial ellipse.-fellipse10โ 10-pixel diameter filled ellipse.-fellipse100โ 100-pixel diameter filled ellipse.-fellipse500โ 500-pixel diameter filled ellipse.-fcpellipse10โ 10-pixel diameter partial filled ellipse, chord fill.-fcpellipse100โ 100-pixel diameter partial filled ellipse, chord fill.-fspellipse10โ 10-pixel diameter partial filled ellipse, pie slice fill.-fspellipse100โ 100-pixel diameter partial filled ellipse, pie slice fill.
triangles and trapezoids, we're in our polygon era now ๐ฅ
-triangle1โ Fill 1-pixel/side triangle.-triangle10โ Fill 10-pixel/side triangle.-triangle100โ Fill 100-pixel/side triangle.-trap1โ Fill 1x1 trapezoid.-trap10โ Fill 10x10 trapezoid.-trap100โ Fill 100x100 trapezoid.-trap300โ Fill 300x300 trapezoid.-strap1โ Fill 1x1 transparent stippled trapezoid, 8x8 stipple pattern.-strap10โ Fill 10x10 transparent stippled trapezoid, 8x8 stipple pattern.-strap100โ Fill 100x100 transparent stippled trapezoid, 8x8 stipple pattern.-strap300โ Fill 300x300 transparent stippled trapezoid, 8x8 stipple pattern.-ostrap1โ Fill 10x10 opaque stippled trapezoid, 8x8 stipple pattern.-ostrap10โ Fill 10x10 opaque stippled trapezoid, 8x8 stipple pattern.-ostrap100โ Fill 100x100 opaque stippled trapezoid, 8x8 stipple pattern.-ostrap300โ Fill 300x300 opaque stippled trapezoid, 8x8 stipple pattern.-tiletrap1โ Fill 10x10 tiled trapezoid, 4x4 tile pattern.-tiletrap10โ Fill 10x10 tiled trapezoid, 4x4 tile pattern.-tiletrap100โ Fill 100x100 tiled trapezoid, 4x4 tile pattern.-tiletrap300โ Fill 300x300 tiled trapezoid, 4x4 tile pattern.-oddstrap1โ Fill 1x1 transparent stippled trapezoid, 17x15 stipple pattern.-oddstrap10โ Fill 10x10 transparent stippled trapezoid, 17x15 stipple pattern.-oddstrap100โ Fill 100x100 transparent stippled trapezoid, 17x15 stipple pattern.-oddstrap300โ Fill 300x300 transparent stippled trapezoid, 17x15 stipple pattern.-oddostrap1โ Fill 10x10 opaque stippled trapezoid, 17x15 stipple pattern.-oddostrap10โ Fill 10x10 opaque stippled trapezoid, 17x15 stipple pattern.-oddostrap100โ Fill 100x100 opaque stippled trapezoid, 17x15 stipple pattern.-oddostrap300โ Fill 300x300 opaque stippled trapezoid, 17x15 stipple pattern.-oddtiletrap1โ Fill 10x10 tiled trapezoid, 17x15 tile pattern.-oddtiletrap10โ Fill 10x10 tiled trapezoid, 17x15 tile pattern.-oddtiletrap100โ Fill 100x100 tiled trapezoid, 17x15 tile pattern.-oddtiletrap300โ Fill 300x300 tiled trapezoid, 17x15 tile pattern.-bigstrap1โ Fill 1x1 transparent stippled trapezoid, 161x145 stipple pattern.-bigstrap10โ Fill 10x10 transparent stippled trapezoid, 161x145 stipple pattern.-bigstrap100โ Fill 100x100 transparent stippled trapezoid, 161x145 stipple pattern.-bigstrap300โ Fill 300x300 transparent stippled trapezoid, 161x145 stipple pattern.-bigostrap1โ Fill 10x10 opaque stippled trapezoid, 161x145 stipple pattern.-bigostrap10โ Fill 10x10 opaque stippled trapezoid, 161x145 stipple pattern.-bigostrap100โ Fill 100x100 opaque stippled trapezoid, 161x145 stipple pattern.
and that's where this batch of options runs out โ don't you dare close the tab, there's more coming ๐ธ
-bigostrap300โ fills a 300x300 opaque stippled trapezoid, using a 161x145 stipple pattern.-bigtiletrap1โ fills a 10x10 tiled trapezoid with a 161x145 tile pattern.-bigtiletrap10โ fills a 10x10 tiled trapezoid with a 161x145 tile pattern.-bigtiletrap100โ fills a 100x100 tiled trapezoid with a 161x145 tile pattern.-bigtiletrap300โ fills a 300x300 tiled trapezoid with a 161x145 tile pattern.-eschertiletrap1โ fills a 1x1 tiled trapezoid, 216x208 tile pattern.-eschertiletrap10โ fills a 10x10 tiled trapezoid, 216x208 tile pattern.-eschertiletrap100โ fills a 100x100 tiled trapezoid, 216x208 tile pattern.-eschertiletrap300โ fills a 300x300 tiled trapezoid, 216x208 tile pattern.-aatrap1โ fill a 1x1 aa trap.-aatrap10โ fill a 10x10 aa trap.-aatrap100โ fill a 100x100 aa trap.-aatrap300โ fill a 300x300 aa trap.-aa4trap1โ fill a 1x1 aa trap with 4 bit alpha.-aa4trap10โ fill a 10x10 aa trap with 4 bit alpha.-aa4trap100โ fill a 100x100 aa trap with 4 bit alpha.-aa4trap300โ fill a 300x300 aa trap with 4 bit alpha.-aa1trap1โ fill a 1x1 aa trap with 1 bit alpha.-aa1trap10โ fill a 10x10 aa trap with 1 bit alpha.-aa1trap100โ fill a 100x100 aa trap with 1 bit alpha.-aa1trap300โ fill a 300x300 aa trap with 1 bit alpha.-aatrap2x1โ fill a 2x1 aa trap.-aatrap2x10โ fill a 2x10 aa trap.-aatrap2x100โ fill a 2x100 aa trap.-aatrap2x300โ fill a 2x300 aa trap.-aatrapezoid1โ fill a 1x1 aa trapezoid.-aatrapezoid10โ fill a 10x10 aa trapezoid.-aatrapezoid100โ fill a 100x100 aa trapezoid.-aatrapezoid300โ fill a 300x300 aa trapezoid.-addaatrapezoid1โ fill a 1x1 aa pre-added trapezoid.-addaatrapezoid10โ fill a 10x10 aa pre-added trapezoid.-addaatrapezoid100โ fill a 100x100 aa pre-added trapezoid.-addaatrapezoid300โ fill a 300x300 aa pre-added trapezoid.
okay bestie the trap era is over, now we get shapes and thenโฆ words ๐ฆ
-complex10โ fill a 10-pixel/side complex polygon.-complex100โ fill a 100-pixel/side complex polygon.-64poly10convexโ fill a 10x10 convex 64-gon.-64poly100convexโ fill a 100x100 convex 64-gon.-64poly10complexโ fill a 10x10 complex 64-gon.-64poly100complexโ fill a 100x100 complex 64-gon.-ftextโ a character in an 80-char line (6x13).-tileftextโ a character in an 80-char line, tiled (6x13).-f8textโ a character in a 70-char line (8x13).-f9textโ a character in a 60-char line (9x15).-f14text16โ a 2-byte character in a 40-char line (k14).-f24text16โ a Char16 in a 23-char line (k24).-tr10textโ a character in an 80-char line (Times-Roman 10).-tr24textโ a character in a 30-char line (Times-Roman 24).-polytextโ a character in a 20/40/20 line (6x13, Times-Roman 10, 6x13).-polytext16โ a 2-byte character in a 7/14/7 line (k14,k24).-fitextโ a character in an 80-char image line (6x13).-f8itextโ a character in a 70-char image line (8x13).-f9itextโ a character in a 60-char image line (9x15).-f14itext16โ a 2-byte character in a 40-char image line (k14).-f24itext16โ a 2-byte character in a 23-char image line (k24).-tr10itextโ a character in an 80-char image line (Times-Roman 10).-tr24itextโ a character in a 30-char image line (Times-Roman 24).-aa10textโ a character in an 80-char aa line (DejaVu Sans 10).-aa24textโ a character in a 30-char aa line (DejaVu Sans 24).-aaftextโ a character in an 80-char aa line (Courier 12).-a10textโ a character in an 80-char a line (DejaVu Sans 10).-a24textโ a character in a 30-char a line (DejaVu Sans 24).-aftextโ a character in an 80-char a line (Courier 12).-rgb10textโ a character in an 80-char rgb line (DejaVu Sans 10).-rgb24textโ a character in a 30-char rgb line (DejaVu Sans 24).-rgbftextโ a character in an 80-char rgb line (Courier 12).-caa10textโ a character in an 80-char aa core line (DejaVu Sans 10).-caa24textโ a character in a 30-char aa core line (DejaVu Sans 24).-caaftextโ a character in an 80-char aa core line (Courier 12).-ca10textโ a character in an 80-char a core line (DejaVu Sans 10).-ca24textโ a character in a 30-char a core line (DejaVu Sans 24).-caftextโ a character in an 80-char a core line (Courier 12).-crgb10textโ a character in an 80-char rgb core line (DejaVu Sans 10).-crgb24textโ a character in a 30-char rgb core line (DejaVu Sans 24).-crgbftextโ a character in an 80-char rgb core line (Courier 12).
text era done, moving pixels era ๐
-scroll10โ scroll 10x10 pixels vertically.-scroll100โ scroll 100x100 pixels vertically.-scroll500โ scroll 500x500 pixels vertically.-copywinwin10โ copy a 10x10 square from window to window.-copywinwin100โ copy a 100x100 square from window to window.-copywinwin500โ copy a 500x500 square from window to window.-copypixwin10โ copy a 10x10 square from pixmap to window.-copypixwin100โ copy a 100x100 square from pixmap to window.-copypixwin500โ copy a 500x500 square from pixmap to window.-copywinpix10โ copy a 10x10 square from window to pixmap.-copywinpix100โ copy a 100x100 square from window to pixmap.-copywinpix500โ copy a 500x500 square from window to pixmap.-copypixpix10โ copy a 10x10 square from pixmap to pixmap.-copypixpix100โ copy a 100x100 square from pixmap to pixmap.-copypixpix500โ copy a 500x500 square from pixmap to pixmap.-copyplane10โ copy a 10x10 1-bit deep plane.-copyplane100โ copy a 100x100 1-bit deep plane.-copyplane500โ copy a 500x500 1-bit deep plane.-deepcopyplane10โ copy a 10x10 n-bit deep plane.-deepcopyplane100โ copy a 100x100 n-bit deep plane.-deepcopyplane500โ copy a 500x500 n-bit deep plane.-putimage10โPutImageon a 10x10 square.-putimage100โPutImageon a 100x100 square.-putimage500โPutImageon a 500x500 square.-putimagexy10โPutImageXY format, 10x10 square.-putimagexy100โPutImageXY format, 100x100 square.-putimagexy500โPutImageXY format, 500x500 square.-putimagexybitmap10โPutImageXYbitmap, 10x10 square.-putimagexybitmap100โPutImageXYbitmap, 100x100 square.-putimagexybitmap500โPutImageXYbitmap, 500x500 square.-shmput10โPutImageon a 10x10 square, MIT shared memory extension.-shmput100โPutImageon a 100x100 square, MIT shared memory extension.-shmput500โPutImageon a 500x500 square, MIT shared memory extension.-shmputxy10โPutImageXY format, 10x10 square, MIT shared memory extension.-shmputxy100โPutImageXY format, 100x100 square, MIT shared memory extension.-shmputxy500โPutImageXY format, 500x500 square, MIT shared memory extension.-shmputxybitmap10โPutImageXYbitmap, 10x10 square, MIT shared memory extension.-shmputxybitmap100โPutImageXYbitmap, 100x100 square, MIT shared memory extension.-shmputxybitmap500โPutImageXYbitmap, 500x500 square, MIT shared memory extension.-shmget10โGetImageon a 10x10 square, MIT shared memory extension.-shmget100โGetImageon a 100x100 square, MIT shared memory extension.-shmget500โGetImageon a 500x500 square, MIT shared memory extension.-shmgetxy10โGetImageXY format, 10x10 square, MIT shared memory extension.-shmgetxy100โGetImageXY format, 100x100 square, MIT shared memory extension.-shmgetxy500โGetImageXY format, 500x500 square, MIT shared memory extension.-getimage10โGetImageon a 10x10 square.-getimage100โGetImageon a 100x100 square.-getimage500โGetImageon a 500x500 square.-getimagexy10โGetImageXY format, 10x10 square.-getimagexy100โGetImageXY format, 100x100 square.-getimagexy500โGetImageXY format, 500x500 square.
compositing + scaling, the glow-up chapter โจ
-compwinwin10โ composite a 10x10 from window to window.-compwinwin100โ composite a 100x100 from window to window.-compwinwin500โ composite a 500x500 from window to window.-comppixwin10โ composite a 10x10 from pixmap to window.-comppixwin100โ composite a 100x100 from pixmap to window.-comppixwin500โ composite a 500x500 from pixmap to window.-magpixwin10โ scale 5x5 from pixmap to a 10x10 window.-magpixwin100โ scale 50x50 from pixmap to a 100x100 window.-magpixwin500โ scale 250x250 from pixmap to a 500x500 window.-minpixwin10โ scale 10x10 from pixmap to a 5x5 window.-minpixwin100โ scale 100x100 from pixmap to a 50x50 window.-minpixwin500โ scale 500x500 from pixmap to a 250x250 window.
and finally, the protocol-and-window-management squad, the main characters of this whole list ๐
-noopโ X protocolNoOperation.-atomโGetAtomName.-pointerโQueryPointer.-propโGetProperty.-gcโ change graphics context.-createโ create a child window and map it usingMapSubwindows.-ucreateโ create an unmapped window.-mapโ map the child window viaMapWindowon the parent.-unmapโ unmap the child window viaUnmapWindowon the parent.-destroyโ destroy the child window viaDestroyWindowon the parent.-popupโ hide/expose a window via a Map/Unmap popup window.-moveโ move a window.-umoveโ move an unmapped window.-movetreeโ move a window viaMoveWindowon the parent.-resizeโ resize a window.-uresizeโ resize an unmapped window.-circulateโ circulate the lowest window to the top.-ucirculateโ circulate an unmapped window to the top.
๐ X DEFAULTS ๐
Literally none, bestie. This program uses no X defaults at all. Zero. Nada. Nothing to configure, nothing to forget to configure ๐
๐ฆ SEE ALSO ๐ฆ
๐ AUTHORS ๐
The icons who made this whole thing happen:
- Joel McCormack
- Phil Karlton
- Susan Angebranndt
- Chris Kent
- Keith Packard
- Graeme Gill
and that's the whole page, no cap ๐ซถ this beauty is x11perf 1.7.0, from X Version 11, dated X11PERF(1) โ go forth and benchmark, queen ๐โจ
๐ฆ where this page comes from
- arch rolling: xorg-x11perf 1.7.0-1 ยท SMLNJ AND HPND
- nixos 26.05: x11perf 1.7.0
- nixpkgs unstable: x11perf 1.7.0
- opensuse-leap 16.0: x11perf 1.7.0-bp160.1.12 ยท HPND
- opensuse-leap 16.0: x11perf 1.7.0-bp160.1.12 ยท HPND
- opensuse-leap 16.0: x11perf 1.7.0-bp160.1.12 ยท HPND
- opensuse-leap 16.0: x11perf 1.7.0-bp160.1.12 ยท HPND
- Copyright 1988, 1989 Digital Equipment Corporation
- Copyright 1989, 1994, 1998 The Open Group
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms