Citat:
Ursprungligen inskrivet av
SebboD
Om folk litar på en såhär tunn artikel så börjar man fundera över vad det är för folk som hänger på SweC. Som artikelförfattaren sa så har Valve och alla stora spelutgivare allt att vinna på en Win8-flopp. Att de sedan inte ger en mer bevis och går in närmare på vilka grafiska skillnader som kan påträffas gör bara deras påstående ännu mer suspekt. Om nu OpenGL ger bättre prestanda med samma bildkvalité så är det väl bara att de slopar DirectX i alla framtida titlar, eller??
Fast att Linux (OS-kärnan) är mer effektivt än Windows (OS-kärnan) borde inte vara en överraskning för någon. Att skillnaden inte blir större beror nog väldigt mycket på att flaskhalsen i spel tenderar vara kvalitén på drivaren för grafikkortet och där har man naturligtvis investerat mycket mer tid i att optimera för Windows.
Här är en person som tittat på prestandaskillnaden mellan Linux och Windows när man använder C++, Java (JVM 1.6) och C# (.Net och Mono). Linux är i detta fall 30-40% snabbare och det trots att de tester som utförs är s.k. "compute bound", något som minskar betydelsen av OS:et då man gör relativt få OS anrop relativt hur mycket CPU man använder.
Minneshanteringen i Linux är mycket snabbare än Windows, här kan skillnaden vara när nog en tiopotens. Skulle gissa att det är just detta som gör att Linux trots allt är snabbare i testerna ovan. Kostnaden för att kommunicera över ett nätverk är också ett par heltaltsfaktorer lägre i Linux än Windows + att Linux skalar bättre om man skriver sin nätverksapplikation så den kör på flera CPU-kärnor, framförallt om man använder någon av de Linux-kärnor som släppts de senaste 1.5 åren då Google bidragit med en rad optimeringar kring TCP/IP stacken skalbarhet i version 2.6.36-2.6.39.
Så hoppas Steam tar far på Linux, skulle vara intressant att veta hur pass bra prestanda man kan få ur Linux för spel om nVidia/AMD/Intel verkligen satsar på att skapa riktigt bra drivare för sina GPU:er på Linux.
Edit: notera att Linux överlägsna minneshantering är inte så stor fördel i spel som man kan tro. Spel tenderar att allokera och fria massor med objekt på väldigt kort tid, så alla "high end" spel implementerar sin egen minneshantering av alla objekt som är kortlivade. Just detta är nog en (av flera) anledningar att C++ är så populärt för spelprogrammering, C++ har standardfunktioner för att använda custom-minneshanterare för vissa specifika klasser.