Skip to content

Commit e7718f6

Browse files
ci(audience): drop redundant xvfb -screen flag from server-args
The previous xvfb-run line passed -screen 0 320x240x24 in --server-args intending to shrink the virtual desktop to cut llvmpipe fragment-fill work. The player log on PR #764 (the deep profile capture) shows the xvfb desktop is 1280x1024 anyway: xvfb-run with -a auto-picks a display number and its own default screen geometry, and the supplied -screen override does not always take effect. The flag did not change behaviour. Unity opens its own GL context at -screen-width by -screen-height (320 by 240, set on the editor command line below), so per-frame fragment fill is already at that resolution regardless of the xvfb desktop size. Drops the redundant -screen flag while keeping the X11 extension flags that do matter (-ac, +extension GLX, +render, -noreset). Updates the adjacent comment block to credit Unity's own -screen-width/-screen-height as the actual fill-rate control.
1 parent 799ae23 commit e7718f6

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

.github/workflows/test-audience-sample-app.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -540,21 +540,24 @@ jobs:
540540
# "Test run completed" never appears (player hang, etc.).
541541
log=/github/workspace/artifacts/playmode.log
542542
543-
# Why a tiny screen: the per-frame fragment-shader cost on
544-
# mesa-llvmpipe scales with pixel count. 1280x720 = 0.92M
545-
# px per frame; 320x240 = 0.08M px - a 12x reduction in
546-
# software-rendered fill work, which is the dominant cost
547-
# on Unity 6 Linux. UI Toolkit lays out fine on this size
548-
# because the test never asserts on rendered pixel content,
549-
# only on UI Toolkit log-row presence (queried via the
550-
# VisualElement tree, not via screen capture).
543+
# The player renders at 320x240 (Unity -screen-width and
544+
# -screen-height below). xvfb's own screen size does not
545+
# affect fragment fill because Unity creates its own GL
546+
# context at the requested window size. xvfb-run with -a
547+
# picks an unused display number and uses its default
548+
# screen geometry; the X11 extension flags below are the
549+
# only --server-args we actually need. Earlier comments
550+
# in this file claimed the xvfb -screen flag was the
551+
# source of the per-frame fill reduction; it was not.
552+
# UI Toolkit lays out fine because tests assert on the
553+
# VisualElement tree, not on rendered pixels.
551554
#
552555
# Why -force-glcore: Unity 6 prefers Vulkan on Linux and
553556
# falls back to OpenGL when Vulkan init fails. Each frame
554557
# carries the negotiation overhead. -force-glcore tells the
555558
# player to skip Vulkan entirely and open a GLX context
556559
# directly, the same path Unity 2021.3 takes by default.
557-
xvfb-run -a --server-args="-screen 0 320x240x24 -ac +extension GLX +render -noreset" -- \
560+
xvfb-run -a --server-args="-ac +extension GLX +render -noreset" -- \
558561
unity-editor \
559562
-batchmode \
560563
-force-glcore \

0 commit comments

Comments
 (0)