Skip to content

Improving Performance

Material Foundry edited this page Feb 17, 2024 · 2 revisions

This wiki is deprecated, new documentation here.

Material Plane can be quite taxing on your computer, because it'll cause the vision of moving tokens to be updated constantly. There are, however, some things you can do to improve performance. All the settings discussed below are only relevant for the computer that your players use (the one connected to the TV), the GM's PC should not notice a significant performance hit when using Material Plane.

This guide will only cover performance improvements related to Material Plane. There are ways to improve the overall performance for Foundry, if you're looking for help with that you could try the troubleshooting tool, check the Foundry Reddit or Discord server, or use Google.

Update Frequency

The reason Material Plane can be such a hit on performance, is because the vision of moving tokens is updated frequently. Whenever a base is detected, its location is sent to Foundry, which then updates the token vision. By reducing the update frequency, the vision isn't updated as often, which improves performance. These settings are mainly relevant for when you use the live movement method (see below).

There are 2 ways in which you can reduce the update frequency, both are accessible in the 'Calibration' screen. The update frequency (in Hz) is 1/([Average Count]*[Frame Period]). There is no advantage to having an update frequency higher than the maximum framerate (as set in the Foundry Core settings).

Frame Period

The frame period sets the update period of the IR sensor. It is set in milliseconds, and to get the frequency in Hz you take 1000 and divide it by the ms value. So a frame period of 25ms is a frequency of 1000/25=40 Hz. In this case, the sensor will search for bases every 25ms, and if it has found any, it'll send the data to Foundry immediately. Increasing the frame period will improve performance, but might introduce lag.

Average Count

The sensor can take multiple readings, and then taking the average of those readings. Only after it has taken all readings, will the sensor send the data to Foundry. The amount of readings to average is set with 'Average Count'. So if the frame period is set to 25ms, and the average count is set to 4, the sensor will take 4 readings and send the data every 100ms (or 1000/100=10Hz). Similar to increasing the frame period, increasing the average count will improve performance, but might introduce lag. Additionally, the averaging will result in a more accurate reading with less noise. It is therefore recommended to first increase the average count before increasing the frame period.

Movement Method

There are 3 movement menthods available: Default, Live and Step-By-Step. You can select the method in the module settings.

Default

The default method is similar to the default Foundry method, where moving a token only updates the location of the token, until the token is dropped. This means that the vision is not updated during movement. Because the vision isn't updated during movement, this method will not be as taxing on your computer. Of the 3 methods, this one will give the best performance.

Live

The live method will update the token vision continuously while a token is being moved. Depending on your settings, this could be up to 200 times per second, which will be very taxing. You can configure the update frequency, as discussed above. Of the 3 methods, this one is by far the most intensive for your computer.

Step-By-Step

The last movement method is Step-By-Step. Using this method, a token will move in grid steps, so it will only update the vision whenever an IR base has moved to a new grid space. This causes the token to essentially step from one grid space to the next. The performance hit of this method is inbetween the other two.

Number of Simultaneously Moved Tokens

You can move multiple tokens at the same time using Material Plane. For the DIY sensor the maximum is 4, for the beta sensor the maximum is 16. Because every token you move needs to have its vision updated, the performance hit for moving 2 tokens is twice as high as moving 1 token. If your computer is struggling, try to minimize the amount of tokens you move at the same time.

Clone this wiki locally