Frameskip, unstable opts
- make ta_skip to ta frame skipping instead of skipping parsing entierly. it handles 1 out of every (N+1) frames. - re purpose rend to unstable opts, as pvr.rend is of no real use right now
This commit is contained in:
parent
12b29f003a
commit
05571cf7ea
|
@ -1390,15 +1390,19 @@ public:
|
|||
|
||||
FifoSplitter<0> TAFifo0;
|
||||
|
||||
int ta_parse_cnt = 0;
|
||||
|
||||
bool ta_parse_vdrc(TA_context* ctx)
|
||||
{
|
||||
bool rv=true;
|
||||
bool rv=false;
|
||||
|
||||
verify( vd_ctx == 0);
|
||||
vd_ctx = ctx;
|
||||
vd_rc = vd_ctx->rend;
|
||||
|
||||
if (!settings.pvr.ta_skip)
|
||||
|
||||
ta_parse_cnt++;
|
||||
|
||||
if (0 == (ta_parse_cnt % ( settings.pvr.ta_skip + 1)))
|
||||
{
|
||||
TAFifo0.vdec_init();
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<string name="game_path">Default Game Storage</string>
|
||||
<string name="select_stretch">Widescreen Mode</string>
|
||||
<string name="set_frameskip">Frameskipping Amount</string>
|
||||
<string name="select_render">PVR Rendering</string>
|
||||
<string name="select_render">Unstable Optimisations</string>
|
||||
<string name="games_listing">Available Dreamcast Games</string>
|
||||
|
||||
<string-array name="images">
|
||||
|
|
|
@ -33,7 +33,7 @@ public class ConfigureFragment extends Fragment {
|
|||
TextView mainFrames;
|
||||
OnClickListener mCallback;
|
||||
boolean widescreen = false;
|
||||
boolean pvrrender = false;
|
||||
boolean unstable_opt = false;
|
||||
int frameskip = 0;
|
||||
|
||||
private SharedPreferences mPrefs;
|
||||
|
@ -83,9 +83,9 @@ public class ConfigureFragment extends Fragment {
|
|||
frameskip = Integer.valueOf(currentLine.replace(
|
||||
"ta.skip=", ""));
|
||||
}
|
||||
if (StringUtils.containsIgnoreCase(currentLine, "pvr.rend")) {
|
||||
pvrrender = Boolean.valueOf(currentLine.replace(
|
||||
"pvr.rend=", ""));
|
||||
if (StringUtils.containsIgnoreCase(currentLine, "Dynarec.unstable-opt")) {
|
||||
unstable_opt = Boolean.valueOf(currentLine.replace(
|
||||
"Dynarec.unstable-opt=", ""));
|
||||
}
|
||||
}
|
||||
scanner.close();
|
||||
|
@ -164,9 +164,9 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("pvr_render", isChecked).commit();
|
||||
pvrrender = isChecked;
|
||||
if (!executeAppendConfig("pvr.rend",
|
||||
mPrefs.edit().putBoolean("unstable_opt", isChecked).commit();
|
||||
unstable_opt = isChecked;
|
||||
if (!executeAppendConfig("Dynarec.unstable-opt",
|
||||
String.valueOf(isChecked ? 1 : 0))) {
|
||||
executeWriteConfig();
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ public class ConfigureFragment extends Fragment {
|
|||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {
|
||||
Switch pvr_render = (Switch) getView().findViewById(
|
||||
R.id.render_option);
|
||||
boolean rendered = mPrefs.getBoolean("pvr_render", pvrrender);
|
||||
boolean rendered = mPrefs.getBoolean("unstable_opt", unstable_opt);
|
||||
if (rendered) {
|
||||
pvr_render.setChecked(true);
|
||||
} else {
|
||||
|
@ -185,7 +185,7 @@ public class ConfigureFragment extends Fragment {
|
|||
} else {
|
||||
CheckBox pvr_render = (CheckBox) getView().findViewById(
|
||||
R.id.render_option);
|
||||
boolean rendered = mPrefs.getBoolean("pvr_render", pvrrender);
|
||||
boolean rendered = mPrefs.getBoolean("unstable_opt", unstable_opt);
|
||||
if (rendered) {
|
||||
pvr_render.setChecked(true);
|
||||
} else {
|
||||
|
@ -233,7 +233,7 @@ public class ConfigureFragment extends Fragment {
|
|||
rebuildFile.append("[config]" + "\n");
|
||||
rebuildFile.append("Dynarec.Enabled=1" + "\n");
|
||||
rebuildFile.append("Dynarec.idleskip=1" + "\n");
|
||||
rebuildFile.append("Dynarec.unstable-opt=0" + "\n");
|
||||
rebuildFile.append("Dynarec.unstable-opt=" + String.valueOf(unstable_opt ? 1 : 0) + "\n");
|
||||
rebuildFile.append("Dreamcast.Cable=3" + "\n");
|
||||
rebuildFile.append("Dreamcast.RTC=2018927206" + "\n");
|
||||
rebuildFile.append("Dreamcast.Region=3" + "\n");
|
||||
|
@ -245,8 +245,7 @@ public class ConfigureFragment extends Fragment {
|
|||
+ String.valueOf(widescreen ? 1 : 0) + "\n");
|
||||
rebuildFile.append("pvr.Subdivide=0" + "\n");
|
||||
rebuildFile.append("ta.skip=" + String.valueOf(frameskip) + "\n");
|
||||
rebuildFile.append("pvr.rend=" + String.valueOf(pvrrender ? 1 : 0)
|
||||
+ "\n");
|
||||
rebuildFile.append("pvr.rend=1" + "\n");
|
||||
rebuildFile.append("image=null" + "\n");
|
||||
FileOutputStream fos = new FileOutputStream(config);
|
||||
fos.write(rebuildFile.toString().getBytes());
|
||||
|
|
Loading…
Reference in New Issue