Minimum Requirements - The Future
#11
Id say quit focusing on generations of processors, and focus, like most of us have, on STP performance. SSE3, SSE4, AVX or AVX2 support, minimum STP of 1600, 1800-2k for recommended, 2300+ for best results.. Recommended 2 cores with hyperthreading or 4 cores without. Thats all there really is to that. For graphics.. I recommend anything vega 8 or better performance for amd (and that is bare minimum..., prefer rx 570 or better, especially running at 4x internal res).. or gtx 750 or better performing (so yes, a gtx 690, if it supports the right version of OGL would be fine)

Also understand that not all processors in passmark are quite accurate for stp.

For example...
https://www.cpubenchmark.net/cpu.php?cpu...0U&id=3123

Says my ryzen 5 2500u should be a 1678 stp.. There are less than 1k samples. I wonder if those folks forgot to set the power profile to performance before running passmark...

My system puts out a 1830 plugged in..

Some times we have a bad habit of trying to put too fine a point on minimum requirements.. but honestly, cpu architecture doesnt matter as much as tech supported and single thread ratings.

32 bit vs 64.. it doesnt matter, the program is a 32 bit program. It wont run any faster on a 64 bit system.. so why worry about 32 vs 64 bit... Its purely stp driven. Even the devs have stated that moving to a 64 bit code base would have negligble benefits for a LOT of work..

Also, generation of CPU is not linear progress. Not all 4th gens perform better than all 3rd gens... A 4th gen will probably outperform a 3rd gen of the same position in the product line.. Say a 4770k will outperform a 3770k, but a 4570T wont outperform that 3770k. A 2600k thats been OC'd will outperform a 3770k that is running base clocks...which means it will also out perform some gen 4 processors. None of the gen 4 core i3 procs will touch that 2600 .. but they might actually be able to play quite a few games (like I said earlier, my i3 gen 3 proc did well enough)

And lets not forget our amd brothers (Yo, HI there). My threadripper performs similarly to the 3770. I have literally ran 2 concurrent instances of pcsx2 running ffx-2 off hdd. at 4x native and kept 60 fps. The ryzen 2700x passmark outperforms my threadripper. The threadripper 2990wx actually performs worse in STP than the 2950x. The 3rd gens are talking another 10% increase over that for single threaded performance... Pretty much anything ryzen 1700x and faster will do quite well in pcsx2. The ryzen 7 1700x has a stp of 1800 ish, the ryzen 7 2700x is ringing in at nearly 2200 stp. Perfectly acceptable for pcsx2.
amd tr 1950x                                                 amd ryzen 5 2500u
asrock x399 taichi                                         amd vega 8 
XFX Radeon rx570                                       16gb ddr 4 2400 ram
32gb gskill ddr4-3200                                   1tb nvme ssd
Debian Bullseye                                           480gb sata ssd
Custom loop water cooled                           HP envy x360
nzxt 340 case
Reply

Sponsored links

#12
those are good points on hardware... though my point on supporting 4th gen intel processors was about supporting avx2.. it wasn't completely arbitrary. 


but what about the OS support? should we still be supporting Vista when Microsoft no longer supports it? What about Windows 7 when it's support from Microsoft ends in less than 6 months? or 8.0 for that matter? 

currently the only supported versions of windows are


Version                            Support Ends
-----------------------------------------------------
Windows 7 SP1                  January 2020
Windows 8.1                     January 2023
Windows 10 1703+            October 2019+


I think considering this I think 8.1 needs to be the new minimum. This would actually help end a lot of version compatibility checks, especially in SPU2 when it's deciding if it's using xaudio2 or xaudio2_27

like this little snippet

Code:
#if _WIN32_WINNT >= 0x602
SndOutModule *XAudio2Out = &XA2;
#else
SndOutModule *XAudio2_27_Out = &XA2;
#endif

this is saying if the version of windows is greater than or equal to Windows 8.0(0x602) use XAudio2.... if it's older than windows 8.0 use XAudio2_27.

due to contradictory checks in the program I actually had a hard time compiling it. if the program assume windows 8.1 (0x603) then this wouldn't even be a problem.
Reply
#13
or how about this bit of code.

Code:
#include "Global.h"
#include "Dialogs.h"

#if _WIN32_WINNT >= 0x602
#error Time to remove this module.
#endif
#include <xaudio2.h>

#include "SndOut_XAudio2.inl"
this is from sndout_xaudio2_27.cpp
_Win32_winnt is currently defined as 0x600(windows vista)

it's basically saying if you're using windows 8.0(0x602) or higher then xaudio2_27 should be removed. it's something I actually had to do because I was getting contradictory compile errors


i'd get this error if the windows version is defined as 0x600 from the SDK's own include files "This version of XAudio2 is available only in Windows 8 or later. Use the XAudio2 headers and libraries from the DirectX SDK with applications that target Windows 7 and earlier versions."



if I changed the windows version to 0x602 I get "error Time to remove this module.".. if I simply remove this error I get linking errors.  until I destroy all mention of xaudio2_27 from the code it gives problems. and the only reason we are still dealing with xaudio2_27 is because we're supporting old unsupported OSs




but seriously. there are so many freaking version checks and version mucking around




from SndOut_XAudio2.inl
Code:
#if _WIN32_WINNT >= 0x602
SndOutModule *XAudio2Out = &XA2;
#else
SndOutModule *XAudio2_27_Out = &XA2;
#endif



from sndout_Xaudio2_27.cpp
Code:
#if _WIN32_WINNT >= 0x602
#error Time to remove this module.
#endif
#include <xaudio2.h>
// this is trying to pull the file from the directx sdk(june2010) includes but since they don't
//exist in visual studio 2017 it's pulling from the modern sdk version of the file that will provide an error for
//the version 0x600

#include "SndOut_XAudio2.inl"


from sndout_xaudio2.cpp
Code:
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0602
#include <xaudio2.h>
//this file is basically doing the same thing as sndout_xaudio2_27.cpp except it's actually pulling the correct
//include file for the version of windows
#include "SndOut_XAudio2.inl"

from xaudio2.h
Code:
#if(_WIN32_WINNT < _WIN32_WINNT_WIN8)
#error "This version of XAudio2 is available only in Windows 8 or later. Use the XAudio2 headers and libraries from the DirectX SDK with applications that target Windows 7 and earlier versions."
#endif // (_WIN32_WINNT < _WIN32_WINNT_WIN8)
// this is where the error comes from if you define your windows version as 0x0600

from winconfig.h
Code:
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0600
#endif

//this is where in the code it defines the version of windows to 0x0600

for the love of god can we just assume windows 8.1 as a minimum?
Reply
#14
Just using May's Steam hardware survey (reasonable since it is closer to the audience of PCSX2 then a more general survey), Windows 7 is still pretty close to 1/4 of the Windows installations. I do see your point in cleaning up the code (from even just a pure maintenance perspective). Since directx 9 is a really unsupported backend with lots of issues I would understand eliminating all OSs that don't support at least directx 11 and I am pretty sure that is why Vista is a minimum, eventhough there are probably more XP systems then Vista among people who even know PCSX2 is a thing.

As far as AVX2 support, even the newest pentium processors have no AVX support. The G3258 is a 4th gen intel processor that runs PCSX2 pretty well (some of the most demanding titles can give it issues, or software rendering). It even outperforms some AVX supporting Core series intel chips in emulation.

For hardware I would personally do.
For CPU something closer to
Intel 2nd gen 1600 STR as a minimum, 4th gen or newer 2000+ STR recomended
AMD 1600 STR minimum (something in the late gen phenom line I think but would have to reaserch), Ryzen or newer recomended 2000+ STR

This cuts a nice balance of what is possible/reasonable, giving a better indication then the current list, while also letting new users know what CPUs will probably not give them headaches getting a good number of games to work. There will always be edge cases of something working outside of this, but this gives a reasonable level of expectations.
Reply
#15
(06-26-2019, 10:48 PM)TkSilver Wrote: Just using May's Steam hardware survey (reasonable since it is closer to the audience of PCSX2 then a more general survey), Windows 7 is still pretty close to 1/4 of the Windows installations.  I do see your point in cleaning up the code (from even just a pure maintenance perspective).  Since directx 9 is a really unsupported backend with lots of issues I would understand eliminating all OSs that don't support at least directx 11 and I am pretty sure that is why Vista is a minimum, eventhough there are probably more XP systems then Vista among people who even know PCSX2 is a thing.

As far as AVX2 support, even the newest pentium processors have no AVX support.  The G3258 is a 4th gen intel processor that runs PCSX2 pretty well (some of the most demanding titles can give it issues, or software rendering).  It even outperforms some AVX supporting Core series intel chips in emulation.

windows 7 supporters are dropping. as the end of support for it draws near it'll basically accelerate. last I heard you can still basically get a windows 10 upgrade for free.

https://www.youtube.com/watch?v=RFHBBN0CqXk&t=382s
Reply
#16
Yep, you can. I will tell you that personally my emulation PC I use for PCSX2 in my livingroom is Windows 7 with little to no hurry to update it to 10 since it just works for what it does and is not connected to the internet at all. My main PC and work\travel laptop are both windows 10.
Reply
#17
(06-26-2019, 11:08 PM)TkSilver Wrote: Yep, you can.  I will tell you that personally my emulation PC I use for PCSX2 in my livingroom is Windows 7 with little to no hurry to update it to 10 since it just works for what it does and is not connected to the internet at all.  My main PC and work\travel laptop are both windows 10.
that's cool. it's just interesting. I can control a lot of windows interface with an xbox controller
Reply
#18
(06-25-2019, 03:27 AM)scythefwd Wrote: Id say quit focusing on generations of processors, and focus, like most of us have, on STP performance.    SSE3, SSE4, AVX or AVX2 support, minimum STP of 1600, 1800-2k for recommended, 2300+ for best results.. Recommended 2 cores with hyperthreading or 4 cores without. Thats all there really is to that.  For graphics.. I recommend anything vega 8 or better performance for amd (and that is bare minimum..., prefer rx 570 or better, especially running at 4x internal res).. or gtx 750 or better performing (so yes, a gtx 690, if it supports the right version of OGL would be fine)

Also understand that not all processors in passmark are quite accurate for stp.

For example...
https://www.cpubenchmark.net/cpu.php?cpu...0U&id=3123

Says my ryzen 5 2500u should be a 1678 stp.. There are less than 1k samples.  I wonder if those folks forgot to set the power profile to performance before running passmark...

My system puts out a 1830 plugged in..

Some times we have a bad habit of trying to put too fine a point on minimum requirements.. but honestly, cpu architecture doesnt matter as much as tech supported and single thread ratings.

32 bit vs 64.. it doesnt matter, the program is a 32 bit program.  It wont run any faster on a 64 bit system.. so why worry about 32 vs 64 bit... Its purely stp driven.  Even the devs have stated that moving to a 64 bit code base would have negligble benefits for a LOT of work..

Also, generation of CPU is not linear progress.  Not all 4th gens perform better than all 3rd gens... A 4th gen will probably outperform a 3rd gen of the same position in the product line.. Say a 4770k will outperform a 3770k, but a 4570T wont outperform that 3770k.  A 2600k thats been OC'd will outperform a 3770k that is running base clocks...which means it will also out perform some gen 4 processors.  None of the gen 4 core i3 procs will touch that 2600 .. but they might actually be able to play quite a few games (like I said earlier, my i3 gen 3 proc did well enough) 

And lets not forget our amd brothers (Yo, HI there).  My threadripper performs similarly to the 3770.  I have literally ran 2 concurrent instances of pcsx2 running ffx-2 off hdd.  at 4x native and kept 60 fps.  The ryzen 2700x passmark outperforms my threadripper.  The threadripper 2990wx actually performs worse in STP than the 2950x.  The 3rd gens are talking another 10% increase over that for single threaded performance... Pretty much anything ryzen 1700x and faster will do quite well in pcsx2.  The ryzen 7 1700x has a stp of 1800 ish, the ryzen 7 2700x is ringing in at nearly 2200 stp.  Perfectly acceptable for pcsx2.

I'm really curious how PassMark comes up with their ratings. Do they average all of the samples?
They list my i5-4690K's STP as 2236 but I have no idea if that is supposed to be at the 3.5 GHz base speed as it says or at the 3.9 GHz turbo speed they can hit out of the box. Mine overclocked at 4.5 GHz is 2664 according to the test I just ran. It said I was in the top 1.6% for i5-4690K baselines so there are definitely some overclocked results in there. Despite that, I agree that PassMark STP scores are still a better reference to point new users toward as a minimum requirement than a particular processor generation as there are so many variables.
The Mini(ITX) Box V2 a.k.a. Nighthawk
Ryzen 7 3700X | 16GB DDR4-3600 CL16 | ASUS ROG Strix B550-I Gaming | EVGA GTX 1660Ti SC Ultra Gaming | Sabrent Rocket 4.0 NVMe 1TB | Samsung 860 EVO 1TB SSD | EVGA 600BQ
Windows 11 Pro 64-bit
Reply
#19
don't forget the temperatures....i'm using noctua now to maintain roughly 49C.
Main PC1:i5-4670,HD7770(Active!)
Main PC2:i5-11600K,GTX1660Ti(Active!)
PCSX2 Discord server IGN:smartstrike
PCSX2 version uses:Custom compiled build 1.7.0 64-bit(to be update regularly)
smartstk's YouTube Channel
Reply
#20
Passmark does use the average of all of it's samples. This is why laptop results are not always a really accurate predictor. For laptops cooling and power delivery can cause wild variations and if a laptop you are looking at has poor thermals or the manufacturer did some customization with the power delivery (to keep thermals down or to save money) then a CPU at the edge of playable normally might not be playable.

Desktop non overclockable scores are pretty solid with only a few outliers (better cooling or really bad cooling/bad MBs) and are a good predictor. Overclockable CPUs average higher then you will get stock out of the box, but why buy a overclockable CPU for a stock experience (AMD excluded, mainly talking K SKU Intel).

Actually running the passmark test on a CPU you own is accurate though. All of that is just about predicting performance on a future purchace.
Reply




Users browsing this thread: 1 Guest(s)