Repository navigation
SWTOR on Mac 0.1.1-dev.1 (development build)
Pre-releaseSWTOR on Mac 0.1.1-dev.1 (development build)
A test build of d9mt's newest work: less stutter when pipelines load, less work for the GPU at high resolutions, and two drawing fixes, with switches to compare each one with 0.1.0.
Less stutter after the first session and after updates
d9mt now remembers which pipelines (the GPU programs for each way the game draws) the game used,
and builds them again in the background while the game loads. When you then walk into a busy
place, they are ready instead of being built in the middle of a frame. The first session on this
build learns them; from the second one on, and also after an update that makes d9mt rebuild its
shader cache, there should be less stutter. The list lives next to d9mt's shader cache.
Lower GPU load at high resolutions
d9mt now lets the GPU keep textures and the screen compressed, and waits less between the
passes that draw a frame. In d9mt's 4K tests that saves about 16 to 22% of the GPU's time per
frame. It helps most where the GPU is the limit: base M-series Macs, and big or Retina
displays.
A shader conversion fix
d9mt converted two kinds of shader code wrongly for Metal: crs and setp instructions that
write only part of a register, and several inputs or outputs packed into one register. Shaders
like that are now converted correctly, and wine.log names any the game uses with a
D3D9 SM3 hazard line.
Copies and fills that were missing are now drawn
Some of the Direct3D 9 calls the game uses to copy, scale and fill images (StretchRect and
ColorFill) did nothing until now. d9mt now carries them out as Direct3D 9 specifies. Some
effects may look different than before: that should be the way they were meant to look. If
something looks wrong, please tell us where.
More in Debug Logging
With Debug Logging on (the default in this build) the session report also shows the pipeline
state cache (STATECACHE: what it prewarmed, and how many pipelines the game found ready),
the copies and fills (XFER), how often a frame's passes are split (split=), and which of the
GPU savings were on.
Please test
Play as usual first: is it as smooth as 0.1.0, with less stutter from the second session on,
and does anything look different? For a closer look, d9mt-ab.sh turns each change off for the
next game start, without editing any file:
R="/Applications/SWTOR on Mac.app/Contents/Resources"
"$R/d9mt-ab.sh" gpu-old vsync-off # 0.1.0's GPU path, vsync off
"$R/d9mt-ab.sh" state-off # no pipeline state cache
"$R/d9mt-ab.sh" reset # everything back on
"$R/session-report.sh" --keep # after each session
After updating
Quit SWTOR, copy the app from the DMG over the one in Applications, open it and click Update to
0.1.1-dev.1 (Reinstall). Only d9mt's Direct3D 9 driver changes, so your shader cache is kept.
This is a development build: it isn't offered as an update, Debug Logging is on by default, and
there are no automatic update checks.
Support
SWTOR on Mac is an unofficial project, not made, endorsed or supported by Broadsword Games, EA,
Lucasfilm or Disney, and you use it at your own risk. Please send questions and bug reports to
Pharaphobia on Discord or as a GitHub issue,
never to Broadsword or SWTOR customer support.