Multi-threading: Difference between revisions

Lectem (talk | contribs)
No edit summary
Line 125: Line 125:


== Core affinity ==  
== Core affinity ==  
The cores are numbered from 0 to 1 for Old 3DS and 0 to 3 for the new 3DS.


=== GetThreadAffinityMask ===
=== GetThreadAffinityMask ===
Line 146: Line 148:
=== SetThreadIdealProcessor ===
=== SetThreadIdealProcessor ===
'''svc''' : 0x10
'''svc''' : 0x10
=== APT:SetApplicationCpuTimeLimit ===
See [[APT:SetApplicationCpuTimeLimit]].
You are not able to use the system core (core1) by default. You have to first assign the amount of time dedicated to the system.
The value is in percent, the higher it is, the more the system will be available for your application.
For example if you set this value to 25%, it means that your application will be able to use 25% of the system core at most, even if you never issue system calls.
If you set the value to a non-zero value, you will not be able to set it back to 0%.
Keep in mind that if your application is heavily dependant on the system, setting a high value for your application might yield poorer performance than if you had set a low value.
=== APT:GetApplicationCpuTimeLimit ===
See [[APT:GetApplicationCpuTimeLimit]].


== Debug ==  
== Debug ==