mirror of https://github.com/stella-emu/stella.git
Expose 'threads' option through the Video Settings -> General UI.
This commit is contained in:
parent
4f336eddeb
commit
24e55baa2c
|
@ -2089,6 +2089,11 @@
|
||||||
<td>Disable Supercharger BIOS progress loading bars.</td>
|
<td>Disable Supercharger BIOS progress loading bars.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td><pre>-threads <1|0></pre></td>
|
||||||
|
<td>Enable multi-threaded video rendering (may not improve performance on all systems).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><pre>-snapsavedir <path></pre></td>
|
<td><pre>-snapsavedir <path></pre></td>
|
||||||
<td>The directory to save snapshot files to.</td>
|
<td>The directory to save snapshot files to.</td>
|
||||||
|
|
|
@ -188,6 +188,11 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
||||||
// Center window (in windowed mode)
|
// Center window (in windowed mode)
|
||||||
myCenter = new CheckboxWidget(myTab, font, xpos, ypos, "Center window");
|
myCenter = new CheckboxWidget(myTab, font, xpos, ypos, "Center window");
|
||||||
wid.push_back(myCenter);
|
wid.push_back(myCenter);
|
||||||
|
ypos += lineHeight + 4;
|
||||||
|
|
||||||
|
// Use multi-threading
|
||||||
|
myUseThreads = new CheckboxWidget(myTab, font, xpos, ypos, "Use multi-threading");
|
||||||
|
wid.push_back(myUseThreads);
|
||||||
|
|
||||||
// Add items for tab 0
|
// Add items for tab 0
|
||||||
addToFocusList(wid, myTab, tabID);
|
addToFocusList(wid, myTab, tabID);
|
||||||
|
@ -437,6 +442,9 @@ void VideoDialog::loadConfig()
|
||||||
// Fast loading of Supercharger BIOS
|
// Fast loading of Supercharger BIOS
|
||||||
myFastSCBios->setState(instance().settings().getBool("fastscbios"));
|
myFastSCBios->setState(instance().settings().getBool("fastscbios"));
|
||||||
|
|
||||||
|
// Multi-threaded rendering
|
||||||
|
myUseThreads->setState(instance().settings().getBool("threads"));
|
||||||
|
|
||||||
// TV Mode
|
// TV Mode
|
||||||
myTVMode->setSelected(
|
myTVMode->setSelected(
|
||||||
instance().settings().getString("tv.filter"), "0");
|
instance().settings().getString("tv.filter"), "0");
|
||||||
|
@ -530,6 +538,11 @@ void VideoDialog::saveConfig()
|
||||||
// Fast loading of Supercharger BIOS
|
// Fast loading of Supercharger BIOS
|
||||||
instance().settings().setValue("fastscbios", myFastSCBios->getState());
|
instance().settings().setValue("fastscbios", myFastSCBios->getState());
|
||||||
|
|
||||||
|
// Multi-threaded rendering
|
||||||
|
instance().settings().setValue("threads", myUseThreads->getState());
|
||||||
|
if(instance().hasConsole())
|
||||||
|
instance().frameBuffer().tiaSurface().ntsc().enableThreading(myUseThreads->getState());
|
||||||
|
|
||||||
// TV Mode
|
// TV Mode
|
||||||
instance().settings().setValue("tv.filter",
|
instance().settings().setValue("tv.filter",
|
||||||
myTVMode->getSelectedTag().toString());
|
myTVMode->getSelectedTag().toString());
|
||||||
|
@ -607,6 +620,7 @@ void VideoDialog::setDefaults()
|
||||||
myUIMessages->setState(true);
|
myUIMessages->setState(true);
|
||||||
myCenter->setState(false);
|
myCenter->setState(false);
|
||||||
myFastSCBios->setState(true);
|
myFastSCBios->setState(true);
|
||||||
|
myUseThreads->setState(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,6 +74,7 @@ class VideoDialog : public Dialog
|
||||||
CheckboxWidget* myUIMessages;
|
CheckboxWidget* myUIMessages;
|
||||||
CheckboxWidget* myCenter;
|
CheckboxWidget* myCenter;
|
||||||
CheckboxWidget* myFastSCBios;
|
CheckboxWidget* myFastSCBios;
|
||||||
|
CheckboxWidget* myUseThreads;
|
||||||
|
|
||||||
// TV effects adjustables (custom mode)
|
// TV effects adjustables (custom mode)
|
||||||
PopUpWidget* myTVMode;
|
PopUpWidget* myTVMode;
|
||||||
|
|
Loading…
Reference in New Issue