Homebrew Discussion Switch overclocking released (improved N64 & PSX emu)

DollyWhipDoll

Royalty & Unbothered. LMFAO!!! ;)
Member
Joined
May 18, 2018
Messages
451
Trophies
0
XP
991
Country
United States
That is an optimisation, no matter how BIIIIIIG it is.

Adding additional options is not optimization. Optimizing is working with what you have. Altering/editing/changing the code that is there, not bringing in an entirely new piece.

op·ti·mi·za·tion
/ˌäptəməˈzāSHən,ˌäptəˌmīˈzāSHən/
noun
  1. the action of making the best or most effective use of a situation or resource.
 

DaniPoo

Well-Known Member
Member
Joined
Jan 2, 2013
Messages
925
Trophies
1
Age
35
XP
2,288
Country
Adding additional options is not optimization. Optimizing is working with what you have. Altering/editing/changing the code that is there, not bringing in an entirely new piece.

op·ti·mi·za·tion
/ˌäptəməˈzāSHən,ˌäptəˌmīˈzāSHən/
noun
  1. the action of making the best or most effective use of a situation or resource.

However that definition is very loose.
The situation or resource could be the hardware, the developement software and the idea..
And if you think about it that way, any route you take to make the product work better is optimization (Even if that means that you have to take new approaches)

However I could also see dynarec being presented as a feature or option.
When I am thinking about optimizing my code (Im not a professional or even very advanced)
I think "How can I get the desired result with less resources and hardware effort?".

Often when I optimize software I think about making the code I have a bit more efficient like taking shortcuts and making sure that I don't use larger datatypes than the task requires.
But the result usually stays the same with higher performance.

When I think dynarec the result won't be the same (For the player it might not make a difference though.. Apart from the performance).
A lot of the time Dynarec can be very inaccurate and developers have to struggle to find the right balance.

But each to their own I guess..
 
Last edited by DaniPoo,

smilodon

Well-Known Member
Member
Joined
Dec 21, 2009
Messages
395
Trophies
1
XP
2,940
Country
France
Adding additional options is not optimization. Optimizing is working with what you have. Altering/editing/changing the code that is there, not bringing in an entirely new piece.

op·ti·mi·za·tion
/ˌäptəməˈzāSHən,ˌäptəˌmīˈzāSHən/
noun
  1. the action of making the best or most effective use of a situation or resource.

effective
/ɪˈfɛktɪv/
adjective
  1. 1.
    successful in producing a desired or intended result.
    "effective solutions to environmental problems"
    synonymes : successful, effectual, efficacious, productive, constructive, fruitful, functional, potent, powerful;
:unsure:
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,643
Trophies
2
XP
5,862
Country
United Kingdom
Adding additional options is not optimization. Optimizing is working with what you have. Altering/editing/changing the code that is there, not bringing in an entirely new piece.

op·ti·mi·za·tion
/ˌäptəməˈzāSHən,ˌäptəˌmīˈzāSHən/
noun
  1. the action of making the best or most effective use of a situation or resource.

Right, you make the most of your CPU by replacing the interpreter with a DRC/JIT.

Replacing one algorithm with another completely different algorithm that achieves the same result is an optimisation. For example optimising a program by replacing the bubble sort with a quick sort.

An interpreter will fetch each opcode, decode it, execute some equivalent code and repeat, no matter how many times the code is run.

A DRC will fetch and decode the instructions and turn it into equivalent native code & then run that equivalent code multiple times.

The speed increase comes because you're performing less work for every emulated instruction, which is most certainly an optimisation.

Similarly a bubble sort and quick sort produce the same output, but the bubble sort swaps items way more often and is therefore slower.

A static recompiler is a further optimisation as the generated code doesn't need to do things like check whether the target of a branch has already been converted or not. But it's much harder to implement, because most systems you emulate have things you can only realistically know at runtime.

You are describing micro optimisations, which are generally pointless.
 
Last edited by smf,

stewacide

Well-Known Member
Member
Joined
Jun 22, 2018
Messages
247
Trophies
0
Age
40
XP
672
Country
Canada
I'm most interested in running games with the docked performance profile while handheld. I don't see any technical reason it wouldn't work: it'd be hot but no hotter than it gets in the dock.
 
  • Like
Reactions: Craftyawesome

m4xw

Ancient Deity
Developer
Joined
May 25, 2018
Messages
2,442
Trophies
1
Age
119
XP
6,958
Country
Germany
Right, you make the most of your CPU by replacing the interpreter with a DRC/JIT.

Replacing one algorithm with another completely different algorithm that achieves the same result is an optimisation. For example optimising a program by replacing the bubble sort with a quick sort.

An interpreter will fetch each opcode, decode it, execute some equivalent code and repeat, no matter how many times the code is run.

A DRC will fetch and decode the instructions and turn it into equivalent native code & then run that equivalent code multiple times.

The speed increase comes because you're performing less work for every emulated instruction, which is most certainly an optimisation.

Similarly a bubble sort and quick sort produce the same output, but the bubble sort swaps items way more often and is therefore slower.

A static recompiler is a further optimisation as the generated code doesn't need to do things like check whether the target of a branch has already been converted or not. But it's much harder to implement, because most systems you emulate have things you can only realistically know at runtime.

You are describing micro optimisations, which are generally pointless.
I cant believe u compare a dynarec to bubble sort and talk about micro optimisations.
 

nmkd

Well-Known Member
Member
Joined
Oct 25, 2016
Messages
554
Trophies
0
Age
26
XP
775
Country
Germany
I'm most interested in running games with the docked performance profile while handheld. I don't see any technical reason it wouldn't work: it'd be hot but no hotter than it gets in the dock.

So you wanna have worse framerates in handheld?

The only way this would be helpful was if the resolution stays at 720p.
 

DrNeroCF

Well-Known Member
Newcomer
Joined
Oct 12, 2016
Messages
97
Trophies
0
Age
39
XP
409
Country
United States
So you wanna have worse framerates in handheld?

The only way this would be helpful was if the resolution stays at 720p.

XC2 looks WAAAAY better docked than in handheld, would be the main reason to do this. Leaving the screen on at the same time does produce more power draw than normal docked mode, plus it's drawing from the power adapter rather than the battery, so there COULD be issues drawing that much power from the battery. Might be completely fine, though. M4 did say that overclocking the CPU didn't cause as much additional heat as even slightly overclocking the GPU, so who knows.

CPU OC just seems like a way safer OC right now, and solves all of our issues with PSX and n64 (short term).

And you guys complaining about optimization are nuts, do you want full speed PSX and n64 NOW, or LATER?
 

MK73DS

Non-commutative algebra
Member
Joined
Feb 23, 2015
Messages
575
Trophies
0
Age
25
Location
France
Website
www.youtube.com
XP
1,536
Country
France
XC2 looks WAAAAY better docked than in handheld, would be the main reason to do this. Leaving the screen on at the same time does produce more power draw than normal docked mode, plus it's drawing from the power adapter rather than the battery, so there COULD be issues drawing that much power from the battery. Might be completely fine, though. M4 did say that overclocking the CPU didn't cause as much additional heat as even slightly overclocking the GPU, so who knows.

CPU OC just seems like a way safer OC right now, and solves all of our issues with PSX and n64 (short term).

And you guys complaining about optimization are nuts, do you want full speed PSX and n64 NOW, or LATER?

The CPU overclock is small compared to the GPU one, going to 1.5GHz is a 50% overclock on the CPU ... while reaching the docked clocks is a 150% overclock !
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,643
Trophies
2
XP
5,862
Country
United Kingdom
I cant believe u compare a dynarec to bubble sort and talk about micro optimisations.

I didn't, you either misread my post or you're trolling.

micro optimisations are where you optimise parts of the code, rather than completely change the algorithm. DollyWhipDoll thinks micro optimisations are the only type, the rest of the computing world knows better.

switching to dynarec from interpreter is one example of changing the algorithm to optimise the code, to drive my point home I gave another example of changing an algorithm being an optimisation when switching to quick sort from bubble sort.

tl;dr changing to a dynarec is an optimisation.
 
Last edited by smf,

Silent_Gunner

Crazy Cool Cyclops
Banned
Joined
Feb 16, 2017
Messages
2,696
Trophies
0
Age
29
XP
4,727
Country
United States
tl;dr terminology debates are rubbish.

Yeah, rather find out if the CPU OC's might lead to something like DC emulation (even if it's at 5fps, it's still an indicator of what could be to come, albeit a faint one). Or better DS emulation even if I don't really think using your fingers to replace the stylus is a very good idea!

Still, development towards dynarecs is definitely something that should be in the cards. We finally got the RA team on the Switch, and that can only mean good things to come.

Though, if I may ask, do shaders work? I remember trying some while playing SOTN and while some, when incomplete, did give results, others didn't seem to make a damn difference in my eyes. (Granted, this is while it was in portable mode while I was at college and far away from a dock!)
 
Last edited by Silent_Gunner,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-