Client tuning cuts browser work on the computer where the SoAI WebUI is open, and it changes presentation only, so model speed, queue depth, and server capacity are unaffected. Use Make SoAI faster on low-end servers for the SoAI host and Capacity planning for inference limits.
Most of what follows lives in one place. In the WebUI, select the Settings button at the right of the header, then Settings. The General and Theme tabs are open to every signed-in account and both commit from the page-header Save, while a few controls carry their own Edit and Save instead.
Cut motion and compositing
Settings > Theme > Interface holds the three settings with the largest effect on a slow client.
- Turn Disable animations on.
- Turn Auto-hide page header off.
- Turn Glass effects off.
- Select the page-header Save.
Disable animations sets every transition and animation duration in the WebUI to 0, which also makes the Page transitions, Modal animation, Notification animation, and Animation speed controls below it inert. If your operating system already has its reduce-motion setting on, the WebUI honors that and those durations are already 0 before you change anything. Where you would rather keep the motion, setting Animation speed to Fast shortens it instead of removing it.
Glass effects is off by default, so this is usually a check rather than a change. Turning it on applies backdrop blur to modals, menus, the sidebar, the header, and chat surfaces, and blur is the most expensive presentation option in the WebUI. Firefox and Firefox-based browsers tend to show the cost first, usually as stutter while scrolling and more so when hardware acceleration is unavailable.
Auto-hide page header folds and extends the header as you scroll, so turning it off keeps the header at a fixed height and removes that work. It has no effect on a small display, where the header does not fold at all.
Reduce what the page draws
Background
A wallpaper adds a full-window image and optional overlay. An uploaded wallpaper is shared across accounts, while a built-in wallpaper belongs to one account. On a low-end client, use the default background or a solid color.
- Open Settings > Theme > Background.
- If Remove custom wallpaper appears, an Administrator with UI customization can select Remove. Otherwise, ask an Administrator with that permission to remove the shared wallpaper.
- If you can manage wallpapers and a built-in image is selected, choose No wallpaper in Built-in wallpapers.
- Select Solid background color to set your personal color. It applies immediately, but an uploaded wallpaper remains visible over it until removed.
What appears under Background depends on permission. An Administrator with
UI customization
(WEBUI_APPEARANCE_ADMIN) can manage
the shared wallpaper and choose built-in images. An Administrator without it can set a solid color for their
account, while a Standard user cannot change the background. An uploaded wallpaper takes priority over personal
colors and built-in images until an Administrator with UI customization removes it. See
Personal preferences for the background controls.
Chat rendering
Two settings decide what a long conversation costs to display. Settings > Theme > Code blocks > Code recognition detects a block's programming language and marks up its syntax tokens, and turning it off leaves ordinary blocks as plain text while diff blocks and Mermaid diagrams still render. Reach for it first when chats full of large code blocks are slow.
Render rich text (Markdown) goes considerably further and lives with the conversation rather than in Settings, under Chat configuration on the Appearance tab. With it off, each message body becomes one escaped paragraph, so the browser skips Markdown parsing, tables, code block rendering, and inline preview tokens together. That supersedes Code recognition and costs you every rendered element in the transcript, so treat it as the option for a client that cannot keep up rather than a default. Inline multimedia previews sits beside it and stops the WebUI from resolving and embedding previews for media links and path references, which is per-message work that runs after the message is drawn.
Dashboard sections
- Open Settings > Theme > Dashboard.
- Find Dashboard elements and select Edit.
- Turn off the sections you do not read, then select Save in Dashboard elements.
The editor lists what the current edition offers, which can include clock, logs, requests, throughput, network, plugins, models, hardware widgets, image, memo, and quick actions. System status is required and its toggle stays locked on. A hidden section is never created, so it costs no DOM, no redraws, and none of its own updates, though hiding it does not stop server-side collection or release every shared Dashboard subscription. Use Make SoAI faster on low-end servers when the collection itself should stop.
List view for large collections
Models, Plugins, and Prompts offer card and list views, and Files offers icon and list views. On each page, select the view control in the page header until its label reads List view; below roughly 1024 px of width, or whenever the actions no longer fit, they collapse behind More actions in the page header. List view swaps card and icon surfaces for compact rows, which cuts layout and paint work on a long collection while requesting the same records. Each page remembers its own choice in the current browser rather than in your account, so it does not follow you to another machine.
Models needs Model read access
(MODEL_READ), Plugins needs
Plugin read access
(PLUGIN_READ), and Files needs
Files reading
(FILE_EXPLORER_READ), and without the
page's access neither the page nor its view control appears. Prompts needs only a signed-in account.
Reduce timers and live updates
- Open Settings > General and find Behavior.
- Turn Show seconds off, which drops the clock from once per second to once per minute.
- Turn Header clock off if you do not need it, which stops its timer entirely and takes the seconds display with it.
- Turn Live status overlay off if you do not use it.
- Select Save.
To reduce repeated chat updates during long streamed responses or agent tasks, open Chat configuration > Appearance and turn off Show activities elapsed time. SoAI then stops refreshing the running duration while each activity is in progress and shows its final duration when it ends. This reduces repeated interface updates and can lower CPU use on the client. Activity status and live progress remain visible. Select Save in Chat configuration after changing the setting.
Both Show seconds and Live status overlay are off by default, so these are worth confirming before you go looking elsewhere. The overlay subscribes to connection, latency, queue, and event telemetry and refreshes its diagnostics every 15 seconds, and turning it off removes the overlay, its listeners, and that timer without disabling server monitoring.
Dashboard, Hardware, Metrics, and Logs keep processing their updates the whole time you are viewing them, so
navigate away when you finish monitoring and the router releases that page's renderers, timers, and subscriptions.
If Logs has to stay open, choose 100 lines rather than the default of 250, or 500, 1000, 2000, or
5000, to keep its rendered log DOM small. Dashboard needs System status access
(SYSTEM_STATUS_READ), Hardware needs
Hardware read access
(HARDWARE_READ), and Logs needs
Log access (LOG_ACCESS), while
Metrics appears for every signed-in account.
Avoid duplicate runtimes
Keep one SoAI browser tab open when you can, and close a detached Chat window once you are done with it. Every tab and every detached window starts its own frontend runtime, holds its own WebSocket connection, and runs whatever its active page needs, so closing an unused copy reclaims that client's timers, DOM, and live subscriptions without touching the signed-in session in the window you keep.
Check the result
- Open the browser's task manager or your operating system's process monitor and note the tab's CPU and memory use.
- Reload SoAI after saving the settings above.
- Repeat the same scrolling, Dashboard, collection, and code-heavy chat actions.
- Keep each change whose visual or informational tradeoff suits how you work.
A slow response with a responsive interface is a server or model problem rather than this one. Stutter while scrolling, animating, highlighting code, or updating widgets is the client-side case these settings address.