2017-12-05, 02:21
  #1
Medlem
Vi säger att någon fick i uppgift att utveckla ett spel idag, för att ta med på en resa 20 år bak i tiden.
Hade man kunnat göra ett mer optimerat spel med dagens programmeringsspråk?

Tack
Citera
2017-12-05, 03:01
  #2
Medlem
4yoonlys avatar
Citat:
Ursprungligen postat av Aragonkommer
Vi säger att någon fick i uppgift att utveckla ett spel idag, för att ta med på en resa 20 år bak i tiden.
Hade man kunnat göra ett mer optimerat spel med dagens programmeringsspråk?

Tack

Först läste det jag som ta 20 år gammal kod, kompilera det med en ny kompilator på dagens hårdvara...

Men men...
Jag tror faktiskt det är tveksamt. Men det skulle vara skit roligt om någon testade... Behöver ju inte vara något gigantiskt program. Vad behöver man? En äldre c:a dator ifrån 1997, en kompilator (top of the line 97) samt kod till denna och sedan kompilera samma kod på en dagens top of the line kompilator...

Tror Linux är det enklaste/bästa sättet att kolla detta...
Men jag tror det är tveksamt på grund av att runt 97 var dom flesta normala hemma system singel processor system och tror kompilatorn på den tiden var riktigt bra på detta. Dagens är nog precis lika bra och skapar säkert nästan identisk kod för dessa singel core system...
Dvs jag tror inte de förbättringar kompilator mässigt finns idag är gentemot nyare processorer och multiprocessor system och de helt enkelt bara har kvar det som var top runt 97 :-)
Men jag kan ha fel, hade varit kul att testa helt klart!

Har någon gammal K5, och en K6 i garderoben dock bara moderkorten/processor kvar annars hade jag faktiskt vilja testa detta själv... hade varit kul...

Jag tror dock att egentligen att det skulle bli väldigt liten skillnad om någon och då skulle skillnaden bli sämre... dvs större exekverbar fil, och något slöare.

Men iofs pratar vi Linux antar jag... och jag det kan ju vara så att dom fortfarande har optimerat för ex. MMX (år/version 97 :-).

Vem vet...
Citera
2017-12-05, 06:17
  #3
Medlem
Tror inte det dock så skulle det säkert gå fortare att skapa spelet då dagen språk är "smartare".

Om man lägger på 20 år till så tror jag inte heller det. Då optimerade man koden till 100% för att få ut max allt av hårdvaran.
Citera
2017-12-05, 07:10
  #4
Medlem
sommarlovs avatar
Nej snarare tvärt om, för varje ny processor och grafikkort finns nya funktioner som koden kan optimeras med.
Att tvingas göra allt med aritmetiska funktioner i processorn slöar ner program avsevärt!
Citera
2017-12-05, 08:01
  #5
Medlem
4yoonlys avatar
Citat:
Ursprungligen postat av sommarlov
Nej snarare tvärt om, för varje ny processor och grafikkort finns nya funktioner som koden kan optimeras med.
Att tvingas göra allt med aritmetiska funktioner i processorn slöar ner program avsevärt!

Fast han menar (efter vad jag förstår av rubrik och text iofs)...

Att du har en 20 år gammal kod (c/c++ ex.) kompilerar detta med en helt ny kompilator (men ställer in den för att kompileras för en ex. P200 eller en K6'a) och skulle denna kod då bli snabbare/bättre/mindre osv... och då köras bättre på den 20 år gamla hårdvaran än den gjorde med den 20 år gamla kompilatorn.

Jag är tveksam då jag tror att det sker få optimeringar för gammal hårdvara 10 år senare utan man helt enkelt behåller den då optimerade koden (kompilator koden alltså) och istället satsar på den nya processorn... komplicerat men hoppas du förstår... och hoppas jag förstått TS rätt...
Citera
2017-12-05, 13:51
  #6
Medlem
Citat:
Ursprungligen postat av 4yoonly
Fast han menar (efter vad jag förstår av rubrik och text iofs)...

Att du har en 20 år gammal kod (c/c++ ex.) kompilerar detta med en helt ny kompilator (men ställer in den för att kompileras för en ex. P200 eller en K6'a) och skulle denna kod då bli snabbare/bättre/mindre osv... och då köras bättre på den 20 år gamla hårdvaran än den gjorde med den 20 år gamla kompilatorn.

Jag är tveksam då jag tror att det sker få optimeringar för gammal hårdvara 10 år senare utan man helt enkelt behåller den då optimerade koden (kompilator koden alltså) och istället satsar på den nya processorn... komplicerat men hoppas du förstår... och hoppas jag förstått TS rätt...

Jag tänker snarare att om man skulle göra om ett 20 år gammalt spel idag, skulle det kunna optimeras mycket mer för den hårdvara som fanns genom att använda metoder som inte används på den tiden.

Men svaret verkar vara nej.
Citera
2017-12-05, 14:03
  #7
Medlem
4yoonlys avatar
Citat:
Ursprungligen postat av Aragonkommer
Jag tänker snarare att om man skulle göra om ett 20 år gammalt spel idag, skulle det kunna optimeras mycket mer för den hårdvara som fanns genom att använda metoder som inte används på den tiden.

Men svaret verkar vara nej.

Ok så det var inte en tävling mellan en sourcecode 20 år gammal på en ny kompilator men kompilerad för samma 20 åriga hårdvara?

Jag tror jag förstår vad du menar nu. Men svarar nog återigen tveksamt... Du får gå tillbaka lite längre skulle jag tro... för 20 år sedan var det lite peak performance på tekniker och användandet av den hårdvara som fanns skulle jag vilja säga.

Men hade du en fast hårdvara så går det alltid att göra optimeringar givetvis. Dvs du har gammal demo/spel kod och skall istället för att göra den så den fungerar bäst på all möjlig hårdvara på den tiden till att göra den till 1 specifik (90-tals hårdvara) så är det absolut självklart att det hade gått att förbättra, säkerligen 2-3 gånger bättre än vad den generella (funka på 20 tals, eller inget GFX kort, 5 ljudkort, olika minnes konfigureringar och olika processorer/moderkort osv osv)...

Även moderkorten hade lite betydelse på den tiden då vissa hade L2/L3 cache osv...
Citera
2017-12-05, 14:18
  #8
Medlem
Citat:
Ursprungligen postat av 4yoonly
Ok så det var inte en tävling mellan en sourcecode 20 år gammal på en ny kompilator men kompilerad för samma 20 åriga hårdvara?

Jag tror jag förstår vad du menar nu. Men svarar nog återigen tveksamt... Du får gå tillbaka lite längre skulle jag tro... för 20 år sedan var det lite peak performance på tekniker och användandet av den hårdvara som fanns skulle jag vilja säga.

Men hade du en fast hårdvara så går det alltid att göra optimeringar givetvis. Dvs du har gammal demo/spel kod och skall istället för att göra den så den fungerar bäst på all möjlig hårdvara på den tiden till att göra den till 1 specifik (90-tals hårdvara) så är det absolut självklart att det hade gått att förbättra, säkerligen 2-3 gånger bättre än vad den generella (funka på 20 tals, eller inget GFX kort, 5 ljudkort, olika minnes konfigureringar och olika processorer/moderkort osv osv)...

Även moderkorten hade lite betydelse på den tiden då vissa hade L2/L3 cache osv...

Okej, intresssant!

Jag kan inte mkt om programmering, men visst drar många hemsidor mkt mindre prestanda då de använder css och inte en massa bilder?

Tänkte att det kanske var samma för äldre spel..
Men jag vet inte hur det funkar med kompilatorer.

Visst kan man göra "mer" med en gammal dator idag när det kommer till OS iaf?
Tänker att om man installerar en lightweight linux distro på en gammal dator så är den väl kapabel till mer än om den kört tex windows xp?
Citera
2017-12-05, 14:47
  #9
Medlem
4yoonlys avatar
Citat:
Ursprungligen postat av Aragonkommer
Okej, intresssant!

Jag kan inte mkt om programmering, men visst drar många hemsidor mkt mindre prestanda då de använder css och inte en massa bilder?

Tänkte att det kanske var samma för äldre spel..
Men jag vet inte hur det funkar med kompilatorer.

Visst kan man göra "mer" med en gammal dator idag när det kommer till OS iaf?
Tänker att om man installerar en lightweight linux distro på en gammal dator så är den väl kapabel till mer än om den kört tex windows xp?

Linux vs Windows XP på en äldre dator (som körde XP får anta en gång i tiden?).
Jo visst där är ju givetvis Linux att föredra idag. Men när Windows XP hade något år på nacken så var inte Linux bättre på något sätt... Windows XP hade väldiga fördelar gentemot Linux på den tiden (säg 2002-2003). Mestadels mer stöd för diverse hårdvara, och ett betydligt bättre UI samt faktiskt troligtvis en lättare/enklare miljö att programmera för. Sedan var det givetvis pengar (både för utvecklare, och pengar bakom Windows XP... Microsoft support). Även om Redhat fanns så var det ingen direkt "option" för ett mindre företag...

Men det hade inte varit några större problem för Microsoft att enbart ha 1 OS ex. "Windows XP" och bara uppgraderat det med åren. Även om det hade brister när det kom så hade dom troligen lätt kunna uppgraderat det internt (dvs kernel men behållit UI't, dvs det användaren tycker är XP) likt Linux (men då UI'na :-).

Linux/Unix enorma fördel är dess "inbyggda" kompilator som allt bygger på... och att dess tänket ifrån 70 talet som levt vidare... Ett helt enkelt bra OS i grunden. Men det kräver pengar för att göra det bättre (Google/Android som exempel... har tagit Linux i princip till next level egentligen...)

Jaja... sitter bara och funderar... :-)

Linux på sent 90 tal var snabbt som satan, installerar du dagens Linux kärna på en sen 90 tals hårdvara så går det inte lika snabbt... pga av all extra säkerhet osv (som man kan givetvis pilla bort om man vill iofs)... utvecklingen har nu förtiden hamnat mer åt säkerhets hållet (vilket oftast skapar något mer tröga system) än snabbhet (det är väl dock så snabbt man kan göra det iofs).

Vet inte om mitt dillande svarar egentligen på din fråga... men men...
Citera
2017-12-05, 16:52
  #10
Medlem
sommarlovs avatar
Citat:
Ursprungligen postat av 4yoonly
Ok så det var inte en tävling mellan en sourcecode 20 år gammal på en ny kompilator men kompilerad för samma 20 åriga hårdvara?

Jag tror jag förstår vad du menar nu. Men svarar nog återigen tveksamt... Du får gå tillbaka lite längre skulle jag tro... för 20 år sedan var det lite peak performance på tekniker och användandet av den hårdvara som fanns skulle jag vilja säga.

Men hade du en fast hårdvara så går det alltid att göra optimeringar givetvis. Dvs du har gammal demo/spel kod och skall istället för att göra den så den fungerar bäst på all möjlig hårdvara på den tiden till att göra den till 1 specifik (90-tals hårdvara) så är det absolut självklart att det hade gått att förbättra, säkerligen 2-3 gånger bättre än vad den generella (funka på 20 tals, eller inget GFX kort, 5 ljudkort, olika minnes konfigureringar och olika processorer/moderkort osv osv)...

Även moderkorten hade lite betydelse på den tiden då vissa hade L2/L3 cache osv...
Det är inte helt korrekt.
Windows (exempelvis) tar hand om hårdvaruanropen, det är det som device drivers är till för.
Du skriver din kod så den kontaktar windows APIer.
Vilket självklart går långsammare än att skriva till hårdvaran direkt...
Citera
2017-12-05, 17:03
  #11
Medlem
4yoonlys avatar
Citat:
Ursprungligen postat av sommarlov
Det är inte helt korrekt.
Windows (exempelvis) tar hand om hårdvaruanropen, det är det som device drivers är till för.
Du skriver din kod så den kontaktar windows APIer.
Vilket självklart går långsammare än att skriva till hårdvaran direkt...

I detta inlägg som du svarar på har jag inte pratat om Windows (eller något OS för den delen) alls. Så jag vet inte riktigt vad du menar.

1997 (20 år sedan) fanns Windows givetvis, men även DOS, OS2, Linux osv. Och man kunde absolut göra spel efter specifik hårdvara (typ Quake, 3DFX) osv...
Citera
2017-12-05, 17:09
  #12
Medlem
sommarlovs avatar
Citat:
Ursprungligen postat av 4yoonly
I detta inlägg som du svarar på har jag inte pratat om Windows (eller något OS för den delen) alls. Så jag vet inte riktigt vad du menar.

1997 (20 år sedan) fanns Windows givetvis, men även DOS, OS2, Linux osv. Och man kunde absolut göra spel efter specifik hårdvara (typ Quake, 3DFX) osv...
Var kanske lite otydlig.

Under Windows 95/98 skrev spelen direkt till hårdvara, för prestandans skull.
Dessa spel funkar inte under Windows XP eller nyare då de själva hanterar hårdvaran.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in