Gå til innhold

Microsoft skal vise frem fremtidens spillgrafikk


Anbefalte innlegg

Det virker ikke som at du vet at apper er helt valgfritt i win 8, man må ikke bruke dem. Det er helt uproblematisk å installere programmer slik man gjør det i win 7 eller eldre.

 

"Application software is all the computer software that causes a computer to perform useful tasks beyond the running of the computer itself. A specific instance of such software is called a software application, application program, application or app"

 

Nei man trenger ikke bruke apper, men da får man ikke gjort noe heller... Trodde tekniske folk visste at en app er et program, Word, Photoshop, alle spill, Firefox etc er alle apper... Jaja, kos deg med skrivebordsbakgrunnen din du, eller bare sitt å se på flisene i Win8 :p

Lenke til kommentar
Videoannonse
Annonse

 

Visst du seriøst tror at en bedrift skipper en OS oppgradering, pga samme årsaker som privatbrukere. Så er du jo faktisk så dum som du først ga inntrykk for.

 

De har ut i fra hva jeg leser her gått fra XP til 7 og dermed hoppet over Vista, men å hoppe over windows 8 er usannsynlig? :)

Lenke til kommentar

 

 

Den blir vell Windows 8 + only. I såfall typsik M$.. Jeg hopper ikke over til Win 8 pga dx12.

Det er rart hvordan microsoft forsøker å tvinge samtlige brukere over på win8, selv proffesjonelle bedriftsbrukere som har programvare som i dag ikke en gang vil bli prøvd laget til win8 av åpenbare grunnen forsøker dem å tvinge over ved å stenge salg av win7, det er jo skandale. Windows 8 er fancy og kreativt, men det er IKKE produktivt

Spikæ'n på hode.

Man blir jo nesten passivt kreativ med det gamle innlærte kompakte systemet.

Det er nok best å investere in saker relatert til Linux om Win9 blir like latterlig som win8, wista, win2000, o.s.v (Virker nesten som en åpen, betalt Beta nå til dags...)

Lenke til kommentar

Det er merkverdig hvor mye av diskusjonen som omhandler at MS har en tendens til å tvinge folk over på nye Windows-versjoner for å få nyeste DirectX-versjon(sant nok at det er trasig), mens svært få er interessert i hva DirectX 12 kan være? Jeg vil faktisk vite hva DirectX 12 byr på og hvilke spill som utnytter det før jeg orker tenke på om noen oppgradering er verdt det.

 

I forbindelse med GDC skal Nvidia, AMD og Intel også snakke om hvordan de skal redusere latency i OpenGL. Så det er tydelig at vi har en ny versjon av OpenGL på gang i tillegg til DirectX. Microsoft har også hintet til at DirectX skal få redusert overhead i forbindelse med oppmerksomheten Mantle har fått i media.

 

Men de fleste av dere vet ikke hva Direct3D, OpenGL eller Mantle gjør, så la meg forsøke på en veldig forenkling. Grafikkprogrammering går ut på å utføre en lang rekke med instruksjoner som manipulerer meshes(vertex + index), teksturer og andre bufre, utføre matematiske operasjoner som gir grafiske effekter eller forflytter punkter. Tradisjonelt har GPUer vært ekstremt lite fleksible sammenlignet med CPUer, og fungert med følgende enkle steg:

1) velg input-data

2) velg en operasjon som skal utføres på dataen

3) velg hvor eventuell output skal lagres og data frigjøres

(eksempel: du binder en mesh og en tekstur til et område i GPUens minne, tegner, og så frigjør bindingen)

Dette gjøres gjennom en rekke API-kall til driveren som styrer hvilke data som skal frem og tilbake til GPUen, og hvilke operasjoner GPUen skal gjøre på data den har i sin cache. GPUens fordel er parallelisering, men tradisjonelt har GPUene kun kunnet gjøre enkle operasjoner på all data den har bundet til enhver tid. Dette er grunnen til at spill må stadig utføre mengder av API-kall for å gjøre mer avanserte manipuleringer. Endringer i meshes eller teksturer betyr at data må lastes opp på nytt til GPUen, som innebærer kostbart ytelsetap. Av denne grunn har mange spill hatt enkle meshes og teksturer på terreng, og lagt en repeterende "detaljtekstur" på toppen for å gi en illusjon av mer detaljer.

 

Den store nyheten i Direct3D 8 og OpenGL 1.5 var standardisering av shader-programmer på GPUen. Dette innebar muligheten for å gjøre enkle manipuleringer av data som befinner seg i cache til GPUen (bundet data). Dette gav muligheten til å programmere matematiske formler til GPUen som manipulerer punkter og teksturer. Et typisk eksempel på dette er vannet vi kjenner fra Crysis, som er en rimelig enkel effekt som er mulig i OpenGL 1.5+ og Direct3D 8+.

 

Effekten er enklere enn du skulle tro:

* Du tegner hele scenen opp-ned speilet om vannoverflaten. Dette tegner du til en 3D-tekstur for senere bruk.

* Du tegner terrenget under vannoverflaten, og bruker en formel for lysbrytning til å avgjøre hvor mye av dette som er synlig.

* Så bruker du en kombinasjon av en-to teksturer som gir bølgeformen, som du bruker til:
- Beregne gjenskinn i overflaten

- Beregne eventuell fysisk forskyvning av punkter i høyden

- Beregne farge til selve vannet

* Så bruker du en tekstur til til å gi lysforvrengningene i vannoverflaten.

Alt dette er altså relativt enkle operasjoner basert på manipulering og kombinering av flere teksturer/bufre.

 

Med Direct3D 9-11 og OpenGL 2-4.4 har funksjonaliteten til shader-programmene stadig blitt utvidet, men er fremdeles bundet til den tungvindte måten å tegne på. Det er verdt å nevne at OpenCL fungerer prinsippielt veldig likt med OpenGL i måten GPUen programmeres på, og for nybegynnere virker GPU-programmering veldig ineffektivt og tungvindt.

 

Siden stadig mer avansert grafikk krever veldig mange API-kall har AMD laget et Mantle som har mindre overhead, som igjen gjør det mulig å sende flere instruksjoner til GPUen og få litt bedre ytelse. Men Mantle løser ikke det egentlige problemet, nemlig at avansert manipulasjon krever mange API-kall. Dette problemet har Nvidia forsøkt å løse med CUDA og OpenGL-utvidelser for profesjonell bruk. I CUDA er GPUen i langt større grad programmerbar til generelle operasjoner, er i stand til å aksessere vilkårlig data innen minneområde, avansert kontrollflyt, strømme data direkte fra PCIe-enheter og til og med kontrollere threads på GPUen. Å programmere i CUDA blir prinsippielt veldig likt med å programmere i C, som gjør det enklere å bruke CPU og GPU mest mulig effektivt sammen, fremfor OpenCL, OpenGL osv. hvor CPUen sløser mye ressurser på å styre GPUen. Nvidias GPUer er i stand til å styre minneallokering og threading internt, mens andre APIer er for gamle til at de er designet for å utnytte dette. Parallelt med utviklingen av CUDA har Nvidia tilbydd utvidelser til OpenGL som utnytter samme egenskaper i GPUen til grafikk. Dette omtales ofte som "bindless graphics" og generell dataaksessering. Denne økte programmeringsfunksjonaliteten har blant annet to store fordeler:

1) Redusert overhead med mindre API-kall fra CPU

2) Mer effektiv utnyttelse av dyrebar L2-cache i GPUen, og kan gi raskere minneaksesser når GPUen selv får styre dette.

Selv tilbake på GT200-serien kunne dette gi omtrent 7.5x høyere VBO-ytelse, som er viktig til flere objekter som manipuleres. Dette har gradvis blitt utvidet til at GPUen nå kan aksessere f.eks. teksturdata direkte via pekere.

I tillegg til dette gir direkte aksessering til GPU-minne at mye mer av logikken kan flyttes fra CPU til GPU, og at du i prinsippet kan kjøre ett enkelt kall for å tegne ett plan, så finner shaderprogrammet selv ut om du skal tessellere og hvilke teksturer som skal vises (mens CPUen tror du bare tegner en firkant :) ).

 

Den som forstår det jeg snakker om her forstår også at Mantle som enkelt og greit prøver å redusere overhead per API-kall bare er en mellomløsning. Alle GPU-programmerere vet at fremtiden ligger i å programmere GPUen direkte, så Mantle vil fungere som et botemiddel frem til at AMD har en GPU-arkitektur med mer funksjonalitet. Hverken AMD eller Intel er i nærheten av å kunne tilby den funksjonaliteten Nvidia har i GPUene sine, og derfor blir ikke OpenGL oppdatert til å utnytte dette på en stund. Det er muligheter for at AMD har muligheten for noe slikt med sin neste arkitektur som skal avløse GCN. Mantle er ikke en god løsning på noen av problemene, og burde heller kommet for 10 år siden.

 

Så derfor er jeg veldig spent på hva både Microsoft og Khronos har i ermet denne gangen. Er det kanskje bare små justeringer a la Mantle? Eller er det faktisk snakk om større overhalinger i retning av CUDA og "bindless graphics"? Jeg håper virkelig det er sistnevnte, selv om jeg har noe skepsis siden Qualcomm har vært med på laget.

  • Liker 5
Lenke til kommentar

Siden mobile plattformer har blitt veldig mye viktigere for spillindustrien de siste fem årene, samt Microsofts lille markedsandel der, tror jeg Microsoft-only løsninger ikke er så interessante for spillindustrien som de var for fem år siden. Skal man ha støtte for Android og iOS så må man satse på plattformuavhengige API som OpenGL, OpenAL, OpenSL ES, OpenVG m.m. OpenGL har gjort store fremskritt de siste fem årene.

Dessverre er ikke alle disse like gode alternativer:

OpenAL:

Var veldig lovende for et tiår siden da til og med en del Direct3D-spill brukte det. Men så vidt jeg kan se har det ikke vært oppdateringer på 9 år og det har sakket akterut. Nå er ikke en gang hjemmesiden oppe, og sist den var oppe hadde den ikke vært oppdatert siden 2005.

OpenVG:

Interessant men støtte mangler i nesten samtlige drivere. I likhet med en rekke andre Khronos-spesifikasjoner er utbredelsen dårlig som kan skyldes at de har vært noe sent på banen.

Lenke til kommentar

Problemet med denne kontinuerlige oppdateringen av DirectX er jo det stadige kravet til ny versjon av Windows.. Det ligger jo ikke i en spillutvikler sin interesse å bruke en masse ressurser på å optimalisere mot noe som eventuelt er Windows 8/8.1, eventuelt Windows 9 only API. Det er rett og slett en for snever brukerbase å optimalisere imot.

 

Dette har jo vært en utfordring for Microsoft i en årrekke nå, med nye verktøyer for utviklere, bedre programmeringspakker og språk med nye versjoner av Windows så forholder jo gjerne 90% av markedet seg til de gamle standardene for de må ta høyde for at brorparten faktisk ikke sitter på de siste versjonene, det er fremdeles alt, alt for mange som sitter på Windows XP, og så definitivt alt for mange som sitter på Windows 7 til at noen applikasjonsutvikler eller spillutvikler vil ta seg bryet med å benytte seg av nye og bedre verktøy og APIer om de kun vil fungere med et operativsystemet som en for liten del av markedet faktisk bruker.

 

 

Her kan man si mye negativt om Apple og hvor aggressive de er med å kutte støtten til eldre programvare, men det gir dem en stor fordel når det kommer til tredjepart for når nesten hele markedsandelen hopper over på nytt operativsystem, med nye verktøy og APIer på under ett år så blir det jo langt enklere og mer logisk for utviklere å hoppe på toget.

 

 

Hovedgrunnen til at AMD Mantle vil ha store problemer med å bli utbredt er fordi det er låst til AMD maskinvare, og nå som det er minst like mange som sitter på Intel og NVIDIA skjermkort så sier det seg selv at for mange utviklere så blir det lite aktuelt å bruke for mye tid og ressurser på noe som vil gagne under 50% av målgruppen. Det samme kan sies om DirectX 12, det kan være aldri så bra men om det blir låst til Windows 9 så vil det jo antagelig ta mangfoldige år før markedsandelen blir godt nok utbredt til at det blir spesielt aktuelt for utviklere. Om det attpåtil vil kreve nye skjermkort så blir det enda vanskeligere å få det utbredt for nok til at det vil være spesielt relevant i markedet.

 

 

Microsoft kan jo begynne med å tilby nyere versjon av Windows tilnærmet gratis så det blir enklere og mye mer kosteffektivt for brukere av eldre Windowsversjoner å oppgradere raskere. Samtidig så burde de få til at nyere versjoner ikke nødvendig alltid må kreve nye skjermkort for i det tempoet maskinvareutviklingen beveger seg for tiden så tar det ganske mange år før folk flest har oppgradert til et DirectX 12 kompatibelt skjermkort. Samtidig så vil nok Microsoft ha godt av å gå litt mer aggressivt til verks når det gjelder det å drepe støtten for gammel og utgått programvare og programmeringsverktøy.

 

Siste først, MS har kunngjort at de skal endre forretningsmodellen med tanke Windows fremover, samt hvordan OS'et oppdateres. Nøyaktig hva som blir resultatet gjenstår å se.

 

Men jeg stusser litt over det du skriver om versjonene av Windows og utbredelse. For det første, Windows 8 er alene større enn Apple og Linux til sammen, og dermed også allerede en større målgruppe. Når man ser på spillere og også markedsandelen av W8 blant spillere også markant større enn markedet ellers. Dette ser vi blant annet på steam reports der W8.X utgjør ca 20% av brukermassen. Enda videre er det også mulig å tilby samme spill med funksjonalitet som er tilpasset flere versjoner av DX.

 

Tilgjengeligheten av nye skjermkort er også fullstendig uinteressant i denne diskusjonen, da dette ville gjelde alle API'er, ikke bare DX.

  • Liker 1
Lenke til kommentar

 

helt elementære ting som det å skru av / restarte maskinen er gjemt under Charms Meny -- Settings - Power er et veldig godt eksempel på ting som jeg ikke finner så alt for logisk.

 

Skru av og restarte maskinen har man (sammen med de fleste andre verktøy man tidligere brukte startmenyen til) siden 8.1 kunne gjort ved å høyreklikke i nedre venstre hjørne.

Lenke til kommentar

 

Det virker ikke som at du vet at apper er helt valgfritt i win 8, man må ikke bruke dem. Det er helt uproblematisk å installere programmer slik man gjør det i win 7 eller eldre.

"Application software is all the computer software that causes a computer to perform useful tasks beyond the running of the computer itself. A specific instance of such software is called a software application, application program, application or app"

 

Nei man trenger ikke bruke apper, men da får man ikke gjort noe heller... Trodde tekniske folk visste at en app er et program, Word, Photoshop, alle spill, Firefox etc er alle apper... Jaja, kos deg med skrivebordsbakgrunnen din du, eller bare sitt å se på flisene i Win8 :p

 

Snakk om flisespikking, trodde det var selvforklarende at jeg mente "programmene" man installerer når man er i tiles modus når jeg snakket om app.

 

Jeg skriver jo også at man kan installere vanlige programmer som før.

  • Liker 1
Lenke til kommentar

 

 

 

 

 

 

 

Visst du seriøst tror at en bedrift skipper en OS oppgradering, pga samme årsaker som privatbrukere. Så er du jo faktisk så dum som du først ga inntrykk for.

Du må gjerne velge å tro at ingen bedrifter vegrer seg for å bytte til Windows 8 på grunn av kontroversen det har skapt i media blant privatbrukere. Jeg for min del, velger å tro at det hender rett som det er, kommer an på hvilken type bedrift det er, da jeg har sett det selv ved to anledninger så føler jeg meg trygg på at det stemmer. Samme enn hvor dum jeg i følge deg måtte være :)

Større bedrifter bytter gjerne ikke før de må, og det har med kostnader å gjøre. En managed plattform, med en fin miks av fagapplikasjoner med forskjellig alder, er gjerne kostbar å oppgradere.

Lenke til kommentar
Håper nvidia og amd kommer med et fullverdig os-uavhenig alternativ snart så man kan droppe alt fra MS.

Iaf. vil jeg gjerne ha valget, så jeg kan kvitte meg med den eneste windowsinstallasjonen jeg har igjen hjemme.

Skreddersy Linux til spillbruk på en rå spillPC og kunne spille det man vil... det er lov å drømme :p

Endret av MultiForce
Lenke til kommentar

Håper nvidia og amd kommer med et fullverdig os-uavhenig alternativ snart så man kan droppe alt fra MS.

Iaf. vil jeg gjerne ha valget, så jeg kan kvitte meg med den eneste windowsinstallasjonen jeg har igjen hjemme.

Skreddersy Linux til spillbruk på en rå spillPC og kunne spille det man vil... det er lov å drømme :p

 

OpenGL finnes allerede, og den støttes på både Windows og Linux. Problemet er bare at Direct 3D (en del av Direct X som er mye mer) de siste 10 årene så og si alene har vært pådriver for utviklingen, samtidig som en svært liten del av markedet har kjørt på andre plattformer.

Lenke til kommentar

MS har tross alt både Windows RT og Windows Phone 8 devicer på markedet, så å implementere støtte for dette i DX er bare naturlig.

 

Om man lager MS Store spill til W8 som benytter DX, vil man i dag måtte lage en ARM-wrapper for å kjøre disse på RT-brett etc. Hvilket ikke er effektivt.

 

Nå er Qualcomm nevnt i denne artikkelen, men det er nok ikke bare de som er involvert i prosessen her, nVidia leverer for eksempel også prosessorer i dette segmentet, og er nok en like stor aktør for å implementere DX i dette segmentet. Det ble bare litt mer åpenlyst med en ny aktør.

 

Jeg tror ikke det tar så veldig lang tid før de får på plass DX støtte for mobile enheter når det nå annonseres, fordi MS trolig har jobbet en stund med dette allerede, og det haster også litt.

 

Om DX12 vil være en stor oppgradering for x86 segmentet vet jeg ikke, men det behøver det nødvendig vis ikke å være denne gangen uten at man dermed skal si at ARM-støtte går på bekostning av DX utviklingen for x86.

Lenke til kommentar

OpenGL finnes allerede, og den støttes på både Windows og Linux. Problemet er bare at Direct 3D (en del av Direct X som er mye mer) de siste 10 årene så og si alene har vært pådriver for utviklingen, samtidig som en svært liten del av markedet har kjørt på andre plattformer.

Bullshit. OpenGL har ligget omtrent like mye i tet på utviklingen. Direct 3D og OpenGL har vekslet på hvem som har tatt i bruk nye teknologier først omtrent som Radeon og Geforce-seriene har vekslet på det. Ingen av de (OpenGL og Direct 3D) er noe særlig tilbake for den andre på teknologisiden, det er bare OS-støtte den ene henger langt etter på, særlig på mobile plattformer. Det blir neppe så mye bedre med mindre de bytter forretningsfilosofi fra lukket til åpen kildekode på API-siden, og gjør de først det så syes fort de to åpne alternativene sammen til et felles. I praksis vil åpning av kildekoden til Direct 3D bety teknologioverføring fra Direct 3D til OpenGL og nedleggelse av Direct 3D. Det hadde vært bra for verden å få en felles åpen standard på grafikk-API, men så lenge det er til ulempe for Microsofts lock-in strategi så vil ikke det skje.

Endret av Simen1
Lenke til kommentar

 

OpenGL finnes allerede, og den støttes på både Windows og Linux. Problemet er bare at Direct 3D (en del av Direct X som er mye mer) de siste 10 årene så og si alene har vært pådriver for utviklingen, samtidig som en svært liten del av markedet har kjørt på andre plattformer.

Bullshit. OpenGL har ligget omtrent like mye i tet på utviklingen. Direct 3D og OpenGL har vekslet på hvem som har tatt i bruk nye teknologier først omtrent som Radeon og Geforce-seriene har vekslet på det. Ingen av de (OpenGL og Direct 3D) er noe særlig tilbake for den andre på teknologisiden, det er bare OS-støtte den ene henger langt etter på, særlig på mobile plattformer. Det blir neppe så mye bedre med mindre de bytter forretningsfilosofi fra lukket til åpen kildekode på API-siden, og gjør de først det så syes fort de to åpne alternativene sammen til et felles. I praksis vil åpning av kildekoden til Direct 3D bety teknologioverføring fra Direct 3D til OpenGL og nedleggelse av Direct 3D. Det hadde vært bra for verden å få en felles åpen standard på grafikk-API, men så lenge det er til ulempe for Microsofts lock-in strategi så vil ikke det skje.

 

I bullshit you not. Hvis du mener OpenGL har ligget i tet med D3D i dette segmentet når det gjelder innovasjon og utvikling må du inn i leseboksen en tur. Man har så vidt klart å dilte etter. Jeg har ikke noe i mot OpenGL, og jeg ser fordelene av en felles åpen standard på flere plattformer, OpenGL må for meg gjerne erstatte D3D, men det endrer ikke dette faktum.

 

Hvis de var like gode, men OpenGL hadde mye større bredde, hvorfor mener du man da benytter D3D? Windows støtter OpenGL like godt som D3D.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...