• We've upgraded our forums. Please post any issues/requests in this thread.

Faster Zombies!

Joined
Mar 18, 2008
Messages
4,475 (1.26/day)
Likes
1,025
Location
Australia
System Name Night Rider | Mini LAN PC | Workhorse
Processor AMD FX 8350 | i7 2600 | i7 970
Motherboard GA-990FXA-UD3 AM3+ | GA-H77M-D3H | Gigabyte EX58-UD5
Cooling AMD Wraith cooler| Coolermaster Gemini with Noctua 3000RPM Fan | Big shairkan B
Memory 4x2GB DDR3 G.Skill 1600 6-8-6-24| 2x4GB Corsair 1600 | 6x2GB DDR3 1300 Corsair
Video Card(s) ASUS GTX 970 OC in Sli | Gainward GTX 650 TI GS | ASUS 7970 Matrix
Storage 250GB Plextor SSD Por 5 /1TB WD Black | 500GB WD ES/WD Black | WD 320/Seagate 320
Display(s) Samsung 2494hs 24" 1080P| Samsung 20" S20C300L/DELL 15" | 22" DELL/19"DELL
Case LIAN LI PC-18 | Mini ATX Case (custom) | Atrix C4 9001
Audio Device(s) Onboard | Onbaord | Onboard
Power Supply Silverstone 750 | Silverstone Mini 450W | Corsair CX-750
Mouse Gigabyte aivia krypton gaming mouse | Rapoo V900 | Gigabyte 6850X
Keyboard MAX Keyboard Nighthawk X8 | Creative Fatal1ty eluminx | Some POS Logitech
Software Windows 7 Pro 64 | Windows 7 Pro 64 | Windows 7 Pro 64/Windows 10 Home
#1
Not sure if this has been posted before but I thought Id post it anyway. Enjoy :)

Fast Zombies

One factor in creating a good gaming experience is throughput. This post discusses some of what we’ve learned about the performance of our games running on Linux.
As any software developer can tell you, performance is a complicated issue. In the interests of simplicity, we’ll concern ourselves with the following high-end configuration:

Hardware


Intel Core i7 3930k
NVIDIA GeForce GTX 680
32 GB RAM

Software

Windows 7 Service Pack 1 64-bit
Left 4 Dead 2
Ubuntu 12.04 32-bit

We are using a 32-bit version of Linux temporarily and will run on 64-bit Linux later.
Running Left 4 Dead 2 on Windows 7 with Direct3D drivers, we get 270.6 FPS as a baseline. The data is generated from an internal test case.

When we started with Linux, the initial version we got up and running was at 6 FPS. This is typical of an initial successful port to a new platform.
Performance improvements fall into several categories:

Modifying our game to work better with the kernel
Modifying our game to work better with OpenGL
Optimizing the graphics driver

An example of the first category would be changing our memory allocator to use more appropriate Linux functions. This was achieved by implementing the Source engine small block heap to work under Linux. The second category would include reducing overhead in calling OpenGL, and extending our renderer with new interfaces for better encapsulation of OpenGL and Direct3D.
The third category is especially interesting because it involves working with hardware manufacturers to identify issues in their drivers and, as a result, improving the public driver which benefits all games. Identifying driver stalls and adding multithreading support in the driver are two examples of changes that were the result of this teamwork.
After this work, Left 4 Dead 2 is running at 315 FPS on Linux. That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive, given the greater amount of time we have spent on the Windows version. However, it does speak to the underlying efficiency of the kernel and OpenGL. Interestingly, in the process of working with hardware vendors we also sped up the OpenGL implementation on Windows. Left 4 Dead 2 is now running at 303.4 FPS with that configuration.
OpenGL versus Direct3D on Windows 7

This experience lead to the question: why does an OpenGL version of our game run faster than Direct3D on Windows 7? It appears that it’s not related to multitasking overhead. We have been doing some fairly close analysis and it comes down to a few additional microseconds overhead per batch in Direct3D which does not affect OpenGL on Windows. Now that we know the hardware is capable of more performance, we will go back and figure out how to mitigate this effect under Direct3D.
Working with hardware vendors

We’ve been working with NVIDIA, AMD, and Intel to improve graphic driver performance on Linux. They have all been great to work with and have been very committed to having engineers on-site working with our engineers, carefully analyzing the data we see. We have had very rapid turnaround on any bugs we find and it has been invaluable to have people who understand the game, the renderer, the driver, and the hardware working alongside us when attacking these performance issues.
This is a great example of the benefits that are the result of close coordination between software and hardware developers and should provide value to the Linux community at large.

Source: http://blogs.valvesoftware.com/linux/faster-zombies/
 
Joined
Mar 18, 2008
Messages
4,475 (1.26/day)
Likes
1,025
Location
Australia
System Name Night Rider | Mini LAN PC | Workhorse
Processor AMD FX 8350 | i7 2600 | i7 970
Motherboard GA-990FXA-UD3 AM3+ | GA-H77M-D3H | Gigabyte EX58-UD5
Cooling AMD Wraith cooler| Coolermaster Gemini with Noctua 3000RPM Fan | Big shairkan B
Memory 4x2GB DDR3 G.Skill 1600 6-8-6-24| 2x4GB Corsair 1600 | 6x2GB DDR3 1300 Corsair
Video Card(s) ASUS GTX 970 OC in Sli | Gainward GTX 650 TI GS | ASUS 7970 Matrix
Storage 250GB Plextor SSD Por 5 /1TB WD Black | 500GB WD ES/WD Black | WD 320/Seagate 320
Display(s) Samsung 2494hs 24" 1080P| Samsung 20" S20C300L/DELL 15" | 22" DELL/19"DELL
Case LIAN LI PC-18 | Mini ATX Case (custom) | Atrix C4 9001
Audio Device(s) Onboard | Onbaord | Onboard
Power Supply Silverstone 750 | Silverstone Mini 450W | Corsair CX-750
Mouse Gigabyte aivia krypton gaming mouse | Rapoo V900 | Gigabyte 6850X
Keyboard MAX Keyboard Nighthawk X8 | Creative Fatal1ty eluminx | Some POS Logitech
Software Windows 7 Pro 64 | Windows 7 Pro 64 | Windows 7 Pro 64/Windows 10 Home
#2
Now we just need more games on Linux!! So we can all get rid of Microshaft.
 
Joined
Oct 28, 2007
Messages
674 (0.18/day)
Likes
172
System Name Pegasus
Processor AMD Ryzen R7 1800X
Motherboard ASUS ROG Crosshair VI Hero
Cooling Custom 480mm EK Loop
Memory 4 x 8GB G.Skill TridentZ RGB 3000MHz
Video Card(s) 2 x Sapphire R9 290 Tri-X OC
Storage Samsung 960 EVO M.2 500GB / Samsung 840 EVO 250GB
Display(s) 2 x 23" LG IPS234V
Case Corsair 900D
Power Supply EVGA SuperNova G3 1000W
Mouse Logitech G700s
Keyboard Corsair K95 RGB
Software Windows 10 Professional 64-Bit
#3
Good to see some developers give their time to research like this, and actually, it's quite interesting.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
20,905 (6.25/day)
Likes
10,000
Location
IA, USA
System Name BY-2015
Processor Intel Core i7-6700K (4 x 4.00 GHz) w/ HT and Turbo on
Motherboard MSI Z170A GAMING M7
Cooling Scythe Kotetsu
Memory 2 x Kingston HyperX DDR4-2133 8 GiB
Video Card(s) PowerColor PCS+ 390 8 GiB DVI + HDMI
Storage Crucial MX300 275 GB, Seagate 6 TB 7200 RPM
Display(s) Samsung SyncMaster T240 24" LCD (1920x1200 HDMI) + Samsung SyncMaster 906BW 19" LCD (1440x900 DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay
Audio Device(s) Realtek Onboard, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse SteelSeries Sensei RAW
Keyboard Tesoro Excalibur
Software Windows 10 Pro 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
#4
DirectX (and by extension, "Microshaft") is largely the reason why gaming on computers hasn't given in to gaming on consoles. Long story short, DirectX keeps game developers sane and allows computer hardware to remain flexible. This flexibility is also why they saw lower FPS on Direct3D (315 versus 303.4).
 
Joined
Mar 18, 2008
Messages
4,475 (1.26/day)
Likes
1,025
Location
Australia
System Name Night Rider | Mini LAN PC | Workhorse
Processor AMD FX 8350 | i7 2600 | i7 970
Motherboard GA-990FXA-UD3 AM3+ | GA-H77M-D3H | Gigabyte EX58-UD5
Cooling AMD Wraith cooler| Coolermaster Gemini with Noctua 3000RPM Fan | Big shairkan B
Memory 4x2GB DDR3 G.Skill 1600 6-8-6-24| 2x4GB Corsair 1600 | 6x2GB DDR3 1300 Corsair
Video Card(s) ASUS GTX 970 OC in Sli | Gainward GTX 650 TI GS | ASUS 7970 Matrix
Storage 250GB Plextor SSD Por 5 /1TB WD Black | 500GB WD ES/WD Black | WD 320/Seagate 320
Display(s) Samsung 2494hs 24" 1080P| Samsung 20" S20C300L/DELL 15" | 22" DELL/19"DELL
Case LIAN LI PC-18 | Mini ATX Case (custom) | Atrix C4 9001
Audio Device(s) Onboard | Onbaord | Onboard
Power Supply Silverstone 750 | Silverstone Mini 450W | Corsair CX-750
Mouse Gigabyte aivia krypton gaming mouse | Rapoo V900 | Gigabyte 6850X
Keyboard MAX Keyboard Nighthawk X8 | Creative Fatal1ty eluminx | Some POS Logitech
Software Windows 7 Pro 64 | Windows 7 Pro 64 | Windows 7 Pro 64/Windows 10 Home
#5
Yea I have heard its a lot harder to code for openCL. But its interesting to see how much better games can run on linux compared to Windows I think.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
20,905 (6.25/day)
Likes
10,000
Location
IA, USA
System Name BY-2015
Processor Intel Core i7-6700K (4 x 4.00 GHz) w/ HT and Turbo on
Motherboard MSI Z170A GAMING M7
Cooling Scythe Kotetsu
Memory 2 x Kingston HyperX DDR4-2133 8 GiB
Video Card(s) PowerColor PCS+ 390 8 GiB DVI + HDMI
Storage Crucial MX300 275 GB, Seagate 6 TB 7200 RPM
Display(s) Samsung SyncMaster T240 24" LCD (1920x1200 HDMI) + Samsung SyncMaster 906BW 19" LCD (1440x900 DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay
Audio Device(s) Realtek Onboard, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse SteelSeries Sensei RAW
Keyboard Tesoro Excalibur
Software Windows 10 Pro 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
#6
Only if the developer puts fourth the effort to make it so. Most don't.
 
Joined
Mar 18, 2008
Messages
4,475 (1.26/day)
Likes
1,025
Location
Australia
System Name Night Rider | Mini LAN PC | Workhorse
Processor AMD FX 8350 | i7 2600 | i7 970
Motherboard GA-990FXA-UD3 AM3+ | GA-H77M-D3H | Gigabyte EX58-UD5
Cooling AMD Wraith cooler| Coolermaster Gemini with Noctua 3000RPM Fan | Big shairkan B
Memory 4x2GB DDR3 G.Skill 1600 6-8-6-24| 2x4GB Corsair 1600 | 6x2GB DDR3 1300 Corsair
Video Card(s) ASUS GTX 970 OC in Sli | Gainward GTX 650 TI GS | ASUS 7970 Matrix
Storage 250GB Plextor SSD Por 5 /1TB WD Black | 500GB WD ES/WD Black | WD 320/Seagate 320
Display(s) Samsung 2494hs 24" 1080P| Samsung 20" S20C300L/DELL 15" | 22" DELL/19"DELL
Case LIAN LI PC-18 | Mini ATX Case (custom) | Atrix C4 9001
Audio Device(s) Onboard | Onbaord | Onboard
Power Supply Silverstone 750 | Silverstone Mini 450W | Corsair CX-750
Mouse Gigabyte aivia krypton gaming mouse | Rapoo V900 | Gigabyte 6850X
Keyboard MAX Keyboard Nighthawk X8 | Creative Fatal1ty eluminx | Some POS Logitech
Software Windows 7 Pro 64 | Windows 7 Pro 64 | Windows 7 Pro 64/Windows 10 Home
#7
Only if the developer puts fourth the effort to make it so. Most don't.
Yea to true, but it will grow in years to come, just slowly id say. Only time will tell.