User can choose how much he willing to spent on each frame (based on pull request from 'Rolf Aretz Lap'
This commit is contained in:
@@ -70,6 +70,9 @@ public class Worker {
|
||||
@Option(name = "-memory", usage = "Maximum memory allow to be used by renderer (in MB)", required = false)
|
||||
private int max_ram = -1;
|
||||
|
||||
@Option(name = "-rendertime", usage = "Maximum time allow for each frame (in minute)", required = false)
|
||||
private int max_rendertime = -1;
|
||||
|
||||
@Option(name = "--verbose", usage = "Display log", required = false)
|
||||
private boolean print_log = false;
|
||||
|
||||
@@ -205,6 +208,10 @@ public class Worker {
|
||||
config.setMaxMemory(max_ram * 1000);
|
||||
}
|
||||
|
||||
if (max_rendertime > 0) {
|
||||
config.setMaxRenderTime(max_rendertime * 60);
|
||||
}
|
||||
|
||||
if (method != null) {
|
||||
try {
|
||||
compute_method = ComputeType.valueOf(method);
|
||||
|
||||
@@ -44,7 +44,10 @@ import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JPasswordField;
|
||||
import javax.swing.JSlider;
|
||||
import javax.swing.JSpinner;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.SpinnerNumberModel;
|
||||
|
||||
import com.sheepit.client.Configuration;
|
||||
import com.sheepit.client.Configuration.ComputeType;
|
||||
import com.sheepit.client.SettingsLoader;
|
||||
@@ -69,6 +72,7 @@ public class Settings implements Activity {
|
||||
private List<JCheckBoxGPU> useGPUs;
|
||||
private JSlider cpuCores;
|
||||
private JSlider ram;
|
||||
private JSpinner renderTime;
|
||||
private JSlider priority;
|
||||
private JTextField proxy;
|
||||
|
||||
@@ -303,7 +307,7 @@ public class Settings implements Activity {
|
||||
parent.getContentPane().add(compute_devices_panel, constraints);
|
||||
|
||||
// other
|
||||
JPanel advanced_panel = new JPanel(new GridLayout(3, 2));
|
||||
JPanel advanced_panel = new JPanel(new GridLayout(4, 2));
|
||||
advanced_panel.setBorder(BorderFactory.createTitledBorder("Advanced options"));
|
||||
|
||||
JLabel proxyLabel = new JLabel("Proxy:");
|
||||
@@ -316,6 +320,17 @@ public class Settings implements Activity {
|
||||
advanced_panel.add(proxyLabel);
|
||||
advanced_panel.add(proxy);
|
||||
|
||||
|
||||
JLabel renderTimeLabel = new JLabel("Max time per frame (in minute):");
|
||||
int val = 0;
|
||||
if (parent.getConfiguration().getMaxRenderTime() > 0) {
|
||||
val = parent.getConfiguration().getMaxRenderTime() / 60;
|
||||
}
|
||||
renderTime = new JSpinner(new SpinnerNumberModel(val,0,1000,1));
|
||||
|
||||
advanced_panel.add(renderTimeLabel);
|
||||
advanced_panel.add(renderTime);
|
||||
|
||||
JLabel customTileSizeLabel = new JLabel("Custom render tile size:");
|
||||
customTileSize = new JCheckBox("", config.getTileSize() != -1);
|
||||
advanced_panel.add(customTileSizeLabel);
|
||||
@@ -533,6 +548,12 @@ public class Settings implements Activity {
|
||||
config.setMaxMemory(max_ram);
|
||||
}
|
||||
|
||||
int max_rendertime = -1;
|
||||
if (renderTime != null) {
|
||||
max_rendertime = (Integer)renderTime.getValue() * 60;
|
||||
config.setMaxRenderTime(max_rendertime);
|
||||
}
|
||||
|
||||
config.setUsePriority(priority.getValue());
|
||||
|
||||
String proxyText = null;
|
||||
@@ -572,7 +593,7 @@ public class Settings implements Activity {
|
||||
}
|
||||
|
||||
if (saveFile.isSelected()) {
|
||||
new SettingsLoader(login.getText(), new String(password.getPassword()), proxyText, method, selected_gpu, cpu_cores, max_ram, cachePath, autoSignIn.isSelected(), GuiSwing.type, tile, priority.getValue()).saveFile();
|
||||
new SettingsLoader(login.getText(), new String(password.getPassword()), proxyText, method, selected_gpu, cpu_cores, max_ram, max_rendertime, cachePath, autoSignIn.isSelected(), GuiSwing.type, tile, priority.getValue()).saveFile();
|
||||
}
|
||||
else {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user