Hjälp! Uppgradering från i5 2500k till 9600k

Permalänk
Medlem
Skrivet av anon42512:

Ja, det är dumt när spel är dåligt programmerade.

Det är bra när cpun även klarar av dåliga programmerare.

Visa signatur

|| R9 7950X MSI PRO X670-P WIFI 32GB-DDR5-6400c32 MSI RTX4080 Ventus 3X OC || CORE i9 12900KF MSI Z690 Tomahawk WIFI DDR4 32GB-3600c16 Gear1 TUF RTX3080 OC V2 || R7 5800X3D X570S CH8 Extreme 32GB-3800c18 Gigabyte RTX3080 GAMING OC || R9 5900X(B2) B550-F 32GB-3800c18 EVGA RTX3070 FTW Ultra || R9 3900X X470-Prime Pro 32GB-3200c16 MSI RTX2070 Super ||

Permalänk
Inaktiv
Skrivet av the squonk:

Det är bra när cpun även klarar av dåliga programmerare.

Nej, det är programmerarna som ska göra rätt.

Permalänk
Medlem
Skrivet av anon42512:

Nej, det är programmerarna som ska göra rätt.

Ska kan man säga, men gör dom det? Vad dom gör och inte vad dom ska, är vad som räknas.

För att förtydliga, dom flesta nya spel utvecklas primärt för konsol och portas sen till PC. På konsolerna har utvecklarna tillgång till 8 kärnor, men 8 riktigt svaga sådana så att dom måste utnyttja dom maximalt. Det här KAN påverka den portade PC-versionen, för hur stor är sannolikheten att man skriver om spelet för att utnyttja 4-6 starka kärnor istället. Sannolikt inte så stor eftersom tid är pengar. Problemet finns rimligtvis inte på äldre spel som gjordes innan konsolerna blev flerkärniga, men det har dom varit rätt länge vid det här laget.

Det gick alldeles utmärkt att spela när vi bara hade enkärniga processorer, men då var spelen skrivna för det.

Visa signatur

|| R9 7950X MSI PRO X670-P WIFI 32GB-DDR5-6400c32 MSI RTX4080 Ventus 3X OC || CORE i9 12900KF MSI Z690 Tomahawk WIFI DDR4 32GB-3600c16 Gear1 TUF RTX3080 OC V2 || R7 5800X3D X570S CH8 Extreme 32GB-3800c18 Gigabyte RTX3080 GAMING OC || R9 5900X(B2) B550-F 32GB-3800c18 EVGA RTX3070 FTW Ultra || R9 3900X X470-Prime Pro 32GB-3200c16 MSI RTX2070 Super ||

Permalänk
Inaktiv
Skrivet av the squonk:

Ska kan man säga, men gör dom det? Vad dom gör och inte vad dom ska, är vad som räknas.

För att förtydliga, dom flesta nya spel utvecklas primärt för konsol och portas sen till PC. På konsolerna har utvecklarna tillgång till 8 kärnor, men 8 riktigt svaga sådana så att dom måste utnyttja dom maximalt. Det här KAN påverka den portade PC-versionen, för hur stor är sannolikheten att man skriver om spelet för att utnyttja 4-6 starka kärnor istället. Sannolikt inte så stor eftersom tid är pengar. Problemet finns rimligtvis inte på äldre spel som gjordes innan konsolerna blev flerkärniga, men det har dom varit rätt länge vid det här laget.

Det gick alldeles utmärkt att spela när vi bara hade enkärniga processorer, men då var spelen skrivna för det.

Dåligt portat alltså

Permalänk
Inaktiv

Jag ska byta ut mitt Asus z390m tuf till ett GIGABYTE Z390 M Gaming som har VRM: 10+2 phases.

Asus kortet har 8+1, rätta mig om jag har fel.

Permalänk
Inaktiv
Skrivet av anon298854:

Jag ska byta ut mitt Asus z390m tuf till ett GIGABYTE Z390 M Gaming som har VRM: 10+2 phases.

Asus kortet har 8+1, rätta mig om jag har fel.

https://i.redd.it/6j8i71dbrxv11.png kanske säger nåt 😅

Permalänk
Inaktiv
Skrivet av anon42512:

Japp, då är det kortet jag byter till bra då det är i vita området
Och det har 8+2 ström anslutning till CPU

Permalänk
Medlem
Skrivet av the squonk:

Ska kan man säga, men gör dom det? Vad dom gör och inte vad dom ska, är vad som räknas.

För att förtydliga, dom flesta nya spel utvecklas primärt för konsol och portas sen till PC. På konsolerna har utvecklarna tillgång till 8 kärnor, men 8 riktigt svaga sådana så att dom måste utnyttja dom maximalt. Det här KAN påverka den portade PC-versionen, för hur stor är sannolikheten att man skriver om spelet för att utnyttja 4-6 starka kärnor istället. Sannolikt inte så stor eftersom tid är pengar. Problemet finns rimligtvis inte på äldre spel som gjordes innan konsolerna blev flerkärniga, men det har dom varit rätt länge vid det här laget.

Det gick alldeles utmärkt att spela när vi bara hade enkärniga processorer, men då var spelen skrivna för det.

Säger inte att du har fel eller ngt. Men alla åtta kärnor nyttjas inte vad jag vet på konsolerna? Sex av åtta är till spel på One har jag hört/läst och två är reserverade till systemet.

Dvs sweet spot för kärnor är sex numera. Sen kan vissa spel nyttja fler och andra färre förstås. Men sex brukar de ju klara just pga hur svaga kärnorna är i konsolerna, blir ju ett måste om spelet ska fungera liksom.

Skickades från m.sweclockers.com

Visa signatur

| AMD Ryzen 7 5800X3D | Noctua NH-U12A | Gigabyte X570 Aorus Pro | Powercolor Radeon RX 6900XT Red Devil | 16GB G.Skill Trident Z@3600 CL15 | Gigabyte Aorus 2TB M.2 NVMe SSD | Fractal Design Ion+ Platinum 860W | Fractal Design Meshify S2 Blackout | Corsair K70 | Logitech G502 | Alienware AW3423DWF |

Permalänk
Datavetare
Skrivet av matte_e_:

Eller jo, beror på vilket spel du spelar och hur de olika spelen utnyttjar din processor/kärnor.
Gamer Nexus går igenom detta i denna https://www.youtube.com/watch?v=F92byoMgptU

det kan bli frys lagg i vissa spel med 6 kärnor enligt deras tester(100ms spikar).

Är det dock inte lite märkligheter med GN resultat för FarCry5?

Märklighet #1: det finns överhuvudtaget ingen rimlig förklaring till varför problemet skulle bli värre när man överklockar CPU, de får värre resultat med överklockad i5-9600K och ingen skillnad med överklockad i5-8600K. Det är märkligt för om CPUn hade något med saken att göra så betyder överklockning högre prestanda per tråd och motsvarande högre all-core prestanda.

Märklighet #2: SweC m.fl. fick ju resultat där 6C/6T modeller presterade bättre än även högre klockade 4C/8T modeller, speciellt sett till lägsta FPS.

Märklighet #3: Hardware Info har testat hur en gäng spel uppför sig på allt från dual-core med SMT till 10C/20T. Just FarCry5 presterar ju alldeles lysande även på 2C/4T (det med GTX 1080Ti som GPU)!

Skrivet av the squonk:

Ska kan man säga, men gör dom det? Vad dom gör och inte vad dom ska, är vad som räknas.

För att förtydliga, dom flesta nya spel utvecklas primärt för konsol och portas sen till PC. På konsolerna har utvecklarna tillgång till 8 kärnor, men 8 riktigt svaga sådana så att dom måste utnyttja dom maximalt. Det här KAN påverka den portade PC-versionen, för hur stor är sannolikheten att man skriver om spelet för att utnyttja 4-6 starka kärnor istället. Sannolikt inte så stor eftersom tid är pengar. Problemet finns rimligtvis inte på äldre spel som gjordes innan konsolerna blev flerkärniga, men det har dom varit rätt länge vid det här laget.

Det gick alldeles utmärkt att spela när vi bara hade enkärniga processorer, men då var spelen skrivna för det.

Förstår att det du skriver kan kännas som en fullt vettig förklaring för någon som inte har någon erfarenhet av parallellprogrammering.

Men skulle själv vara bra intresserad hur man ens teoretisk skulle kunna skriva ett program så det kan utnyttja 7-8 svaga kärnor på ett vettigt sätt men där det inte går minst lika bra med färre starkare kärnor med minst lika hög aggregerad prestanda.

Skulle säga att man kan dela in program i tre huvudklasser när det kommer till "optimering med avseende på CPU-kärnor".

  • enkeltrådade

  • huvudtråd + bakgrundstråd (som då kan utnyttja upp till två kärnor, här hittar vi spel för typ 15 år sedan)

  • någon form av jobb-hanteringssystem med upp till en arbetstråd per fysisk CPU-tråd, i princip alla moderna spel är designade så här (men skiljer lite hur man schemalägger arbete på tillgängliga trådar), detta hantera fallet "fler än en tråd" utan att egentligen bry sig om hur CPU-trådar som används (man försöker använda "så många som möjligt" på ett vettigt sätt)

Finns en del bra videon kring modern spelutveckling, t.ex. denna. Här nämns bl.a. att vissa delar är tyvärr rätt enkeltrådade medan andra delar lämpar sig väl att sprida ut över flera kärnor. Är den egenheten hos spel som gör att de aldrig skalar perfekt ens förbi två-tre kärnor, det även om de ser viss nytta ändå upp till 6-8 CPU-trådar.

Tittar man på utveckling kring spelmotorer och hur de kan utnyttja flera kärnor finns egentligen ingen utveckling de senaste tio åren som inte kan förklaras med Gustafsons lag (möjligheten att använda flera kärnor ökar om problemet storlek ökas, d.v.s. mer komplicerade spel).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Förstår att det du skriver kan kännas som en fullt vettig förklaring för någon som inte har någon erfarenhet av parallellprogrammering.

Men skulle själv vara bra intresserad hur man ens teoretisk skulle kunna skriva ett program så det kan utnyttja 7-8 svaga kärnor på ett vettigt sätt men där det inte går minst lika bra med färre starkare kärnor med minst lika hög aggregerad prestanda.

Definiera "starkare".
Givet att det bara gäller exempelvis frekvens så så är någon (förenklad) variant av super-linear scaling en rimlig början.

Beror så klart på cache-storlekar m.m. men med rimliga antaganden på problemdomän så är det inte direkt svårt att förstå att det är enklare att skriva bättre presterande kod på många relativt svaga kärnor (frekvensmässigt) jämfört med färre högre klockade givet minneshantering går att få effektivare på de svagare. Genom mer sammanlagd cache exempelvis.

Moderna konsolspel med mer och mer AI och bakgrundsjobb känns som en perfekt kandidat, men CS och esport som raka motsatsen så klart.

Permalänk
Medlem
Skrivet av matte_e_:

Eller jo, beror på vilket spel du spelar och hur de olika spelen utnyttjar din processor/kärnor.
Gamer Nexus går igenom detta i denna https://www.youtube.com/watch?v=F92byoMgptU

det kan bli frys lagg i vissa spel med 6 kärnor enligt deras tester(100ms spikar).

Men en 9600k är väll i nivå med en 7700K totalt 8 trådar känns så 2016 och äldre datorer. känns inte framtidssäker som andra redan skrivit.

Visa signatur

Ryzen 5800X ROG STRIX X570-f GAMING FlareX DDR43600 cl 14-14-14-34 EVGA FTW3 Ultra RTX 3090

Permalänk
Datavetare
Skrivet av andda715:

Definiera "starkare".
Givet att det bara gäller exempelvis frekvens så så är någon (förenklad) variant av super-linear scaling en rimlig början.

Beror så klart på cache-storlekar m.m. men med rimliga antaganden på problemdomän så är det inte direkt svårt att förstå att det är enklare att skriva bättre presterande kod på många relativt svaga kärnor (frekvensmässigt) jämfört med färre högre klockade givet minneshantering går att få effektivare på de svagare. Genom mer sammanlagd cache exempelvis.

Moderna konsolspel med mer och mer AI och bakgrundsjobb känns som en perfekt kandidat, men CS och esport som raka motsatsen så klart.

Det fetmarkerade säger i princip att Amdahls lag är felaktig. Rätt stort scoop om det stämmer då det faktiskt är en "lag" i strikt mening och inte en observation/approximation som t.ex. Moores "lag" (som inte lägre är giltig).

D.v.s. det är teoretiskt helt omöjligt att få ett program att skala bättre med CPU-kärnor än vad Amdals lag säger. Enda praktiska avvikelsen nämner du: super-linjär skalning.

Problemet är att super-linjär skalning bara förekommer på väldigt specifika typ av problem samt att effekten faller av väldigt snabbt med ökade antal kärnor. För att få super-linjär skalning på den typ av CPU-designer vi har idag måste man ha ett problem som

  • endast läser delad data

  • endast en delmängd av data används för att göra någon form av beräkning

  • den delmängden av data som processas måste vara klustrad i minne

  • problemet måste vara "embarrassingly parallel" (d.v.s. p värdet i Amdals lag lär vara extremt nära 1,0)

Den typen av problem finns absolut, men det är rätt ovanligt och det är helt irrelevant för det som diskuteras här, d.v.s. spelprestanda.

Första punkten ihop med tredje punkten medför också att om det även finns skrivning får man i princip den omvända effekten, d.v.s. potentiellt så minskar prestanda (i absoluta termer) när man lägger på flera kärnor. Detta p.g.a. cache-line bouncing.

Vidare förutsätter Amdahls lag att den seriella delen överhuvudtaget inte beror på antalet kärnor. OK approximation när man väl passerat 3-4 kärnor, men det är inte sant när man går från 1->2, från 2->3 kärnor. I det läget ökar kostnaden för synkronisering mellan kärnorna, d.v.s. storleken på den seriella delen ökar något.

Noterade att SweClockers faktiskt har mätt på 1500X, 1600X och 1800X ihop med RTX 2080Ti i deras test av Intels 9000-serie. Om man ignorerar att det skiljer några procent i all-core frekvens mellan dessa CPUer så ger detta ett perfekt tillfälle att beräkna p värdet i Amdals lag på de fem spel man tester.

Notera att frekvensen är i praktiken 1500X < 1600X ~ 1800X så man får en svag överskattning av p, d.v.s. man överskattar hur väl spel utnyttja CPU-kärnor.

BF5 var bäst på att utnyttja kärnor med ett p värde på 0,80. Snittet över alla spel var 0,76 så ändå rätt samlad bild.

Har gjort liknande skattningar på spel från 2011 när i5-2500 och i7-2600K släpptes, då låg spelen på runt 0,70 i genomsnitt. Antar man samma utveckling nästkommande åtta år borde vi se ett p värde på runt 0,81 i snitt (blir exponentiellt svårare att öka p ju närmare 1,0 man kommer om man utgår från att ökade p följer av vad Gustafsons lag beskriver).

Skrivet av sesese:

Men en 9600k är väll i nivå med en 7700K totalt 8 trådar känns så 2016 och äldre datorer. känns inte framtidssäker som andra redan skrivit.

2018 är det fortfarande så att den högre prestanda 7700K har per CPU tråd över 2700X ger, enligt SweC senaste speltester, ändå runt 10 % högre spelprestanda (vare sig man tittar på genomsnittlig eller lägsta FPS).

Om utvecklingen går som gissningen ovan betyder det att om åtta år har dessa ~10 % ändrats till ~5 %. Det blir inte större utväxling p.g.a. Amdahls lag.

Även här får man tänka på att effekten av att dubbla antalet kärnor när p inte är 1,0 (d.v.s. perfekt skalbarhet med kärnor) avtar exponentiellt med ökande antal kärnor.

Steget från 2C är långt mer dramatiskt än 4C. vid p = 0,8 får man faktiskt en fördubbling av prestanda från 2C -> 8C. Krävs ett p värde på 0,89 för att få en fördubbling från 4C -> 16C. Är nog rätt långt innan spel når dit. Frågan är om man någonsin kan nå så hög parallellism i spel givet att kommunikation med GPU är rätt centralt för spel, finns bara en grafik-kö så där har man en rätt kritisk serialiseringspunkt i spelmotorer!

Kort och gått: det kommer ta längre tid för 6C/6T att nå den punkt 4C/4T nått nu, d.v.s. det finns enstaka speltitlar där 4C/4T faktiskt är märkbart sämre jämfört med 4C/8T och 6C/6T.

6C/6T är mer "framtidssäker" jämfört med 4C/8T om man bara tittar på spel. SMT ger typiskt mellan 20 % till 30 % extra prestanda i saker som skalar väldigt bra med CPU-trådar. I spel är det <20 %. Så en 4C/8T motsvarar <4,8 "riktiga" kärnor i spel.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer