Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

Valve Hardware Day 2006 – Multithreaded Edition

Valve Hardware Day 2006

Förra veckan bjöd Valve Software in oss till deras huvudkontor i Bellevue Washington för deras Hardware Day-evenemang. Valve har vanligtvis några ganska intressanta saker att visa upp, och de är ett av flera företag som konsekvent tänjer på gränserna för vad din datorhårdvara kan göra. Som skapare av Half-Life-serien är Valve ett av de mest respekterade spelmjukvaruföretagen som finns. Deras distributionsnätverk för Steam har också fått en hel del uppmärksamhet genom åren. Förra året var den stora nyheten den nya HDR-renderingen som Valve lade till sin Source-motor. Så vad har Valve hållit på med det senaste året, och hur kommer det att påverka framtiden för spel?

Mannen själv, Gabe Newell

En del av er minns kanske några av de uttalanden som Valve Software-grundaren Gabe Newell gjorde angående nästa generations plattformar och övergången till flerprocessorsystem. Den korta sammanfattningen är att det är extremt svårt att skapa effektiv och kraftfull flertrådad kod, och det finns en mycket reell möjlighet att utvecklare kommer att behöva kasta bort mycket av sin befintliga kodbas. Båda dessa saker är nackdelar för att skapa flertrådade spel, men det finns också viktiga fördelar. Den kanske viktigaste fördelen är att om du behöver ytterligare processorkraft inom en snar framtid är det mycket mer sannolikt att du får det genom att utnyttja kraften hos flera processorer snarare än att vänta på att klockhastigheterna ska öka.

Även om det är listat som en utmaning, är en av poängerna från Valve att datorspel vanligtvis är designade för att utnyttja ditt system maximalt. “Du gör en otjänst mot kunden om du inte använder all processorkraft.” Vissa kanske inte håller med om den känslan, men någon gång måste valet göras mellan ett spel som ser bättre ut och/eller presterar snabbare och ett som använder mindre beräkningsresurser. Sedan finns det en sekundär övervägande: vill du göra ett datorspel som bara drar fördel av ytterligare bearbetningskärnor för att förbättra spelupplevelsen, eller bör en flerkärnig CPU krävas? Det finns fortfarande ett stort antal enkärniga processorer som används idag, och många av dessa människor kan vara missnöjda om de tvingades uppgradera.
Tom Leonard, projektledare för multithreading

Kostnaderna och utmaningarna förknippade med att skapa flertrådade spel hjälper till att förklara varför det tidigare spelstödet för flera processorer i bästa fall har begränsats, men med alla stora processorleverantörer som går mot flerkärniga chips har den installerade användarbasen äntligen blivit tillräckligt stor att det är vettigt att investera tid och ansträngning för att skapa en kraftfull flertrådad spelmotor. Valve Software satte sig för att göra exakt det under det senaste året. Ansträngningarna har letts av Valve-programmeraren Tom Leonard, vars tidigare erfarenhet inkluderar arbete med C++-kompilatorer, systemverktyg och artificiell intelligens bland annat. Andra Valve-anställda som har hjälpt till är Jay Stelly, Aaron Seeler, Brian Jacobson, Erik Johnson och Gabe Newell.

Det kanske mest överraskande är hur mycket som har åstadkommits på så relativt kort tid, och Valve Software försåg deltagarna med ett par benchmark-applikationer för att demonstrera kraften i system med flera kärnor. Innan vi kommer till den faktiska prestandan för dessa verktyg, låt oss dock ta en titt på vad multithreading faktiskt betyder, de olika tillvägagångssätten som kan användas och de områden som kommer att gynnas mest. Det finns givetvis många sätt att utföra en given uppgift, men för den här artikeln är vi i första hand angelägna om Valves inställning till multithreading och vad det betyder för spelgemenskapen.