Posts: 3.377
Threads: 57
Joined: Feb 2013
Reputation:
57
Currently the users have to manually configure the number of software rendering threads. It would be nice to have an "Auto" option, which automatically sets the number of rendering threads according to the number of cores.
Also, I think the label "Extra rendering threads" is ambiguous. I tested it and I believe the behavior is as follows:
- 0 ERT: PCSX2 uses 2 threads: EE and GS/software rendering.
- 1 ERT: PCSX2 uses 3 threads: EE, GS, and a software rendering thread.
- 2 ERT: PCSX2 uses 4 threads: EE, GS, and 2 software rendering threads.
"Separate rendering threads" would be more accurate. Actually, a lot of threads are created for PCSX2, but I believe most of them are idle; they are probably created by the OS.
Posts: 21.718
Threads: 401
Joined: Sep 2013
Reputation:
476
Location: 私の夢の中
I discussed this a little bit once with one of the devs(I forget who lol) and we decided against it. There is just too much variable crap that changes what number of threads is optimal. If you wanna bring it up again you can file a thingy on Github, maybe opinions have changed IDK.
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Posts: 3.377
Threads: 57
Joined: Feb 2013
Reputation:
57
12-10-2015, 10:16 PM
(This post was last modified: 12-10-2015, 10:17 PM by Akio.)
I don't think it needs to be optimal for all games in every scenario because it's just an option. The users can change it if they want to find out the optimal setting for the games they are playing. It's fine if this has already been discussed. This option isn't for me anyway, but I think it will be good for new users and may improve the reputation of the project a little bit.
Posts: 5.076
Threads: 18
Joined: Oct 2010
Reputation:
154
12-11-2015, 09:22 PM
(This post was last modified: 12-11-2015, 09:28 PM by willkuer.)
Why is one extra rendering thread not one additional thread? According to your list in the first post it is exactly one additional thread.?! Or do you emphasize on 'rendering'? Is the normal gs-thread not rendering at all? Who is rendering the image if 0 ERT?
The problem with HT is that you dont know how to count the optimal parallel threads and this might even depend om the game. Dynamic auto is really hard to create.
I think just setting it to 2 as default value for all systems would help. Dualcores normally can not use sw rendering (maybe except pentium G series). Quadcores are likely minimum and dominating the market (disregarding HT). If you have HT you could enable one or two more. As EE+VU normally <<200% regarding of mtvu for quadcore systems might not be needed. And slightly overuse of threads is not the worst you can do.
Tl;dr default = 2 (for all systems)
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
Beside counting core is not crossplatform (the best solution will be to transfer it from core to plugin with a plugin extensions). Otherwise I think 2 is a general good default.
Note value 1 is special. Rendering is done on a separate thread but due to sync, it is as slow as 0.