public sealed class ShaderCompilerServerCompiles shader variants for devices that have no compiler.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The other half of RemoteEffectSource, and the reason doc 06 says this is worth building early. A phone or a console has no Raven and no shader sources, so without it every change to a .rvn means a content build and a redeploy — a loop long enough that people stop making the change.
The disk cache sits on this side too, and that is what makes it fast. Five devices asking for one variant is one compilation, and a restart of this process costs nothing: the entries are still there. The device caches as well, so the second run of the game does not ask at all — the two caches are for different things, one saving the compile and the other saving the round trip.
A development tool. No authentication, no transport security. Anything that reaches the port gets whatever this can compile, so it belongs on a desk behind a firewall, bound to a specific interface if the desk is not a private one.
Fields and properties (4)
public TextWriter LogWhat the server writes about what it is doing.
public int PortWhich port it ended up on. Meaningful after Start.
public int ServedHow many requests have been answered with a variant.
public int MissedHow many were answered with nothing.
Methods (3)
public ShaderCompilerServer(IPAddress address, int port, Func<string, IEffectSource?> open)Creates a server.
public void Start()Starts listening.
public void Dispose()Stops, and waits for the accept loop to notice.
Used by (1)
- ShaderCompilerServiceTestsVixen.ShaderCompilerService.Tests