Skywalker13

Diary of an ex-GeeXboX developer…

Talos Principle - Vulkan vs OpenGL

Posted at — Jun 8, 2016

One of the best news of this year is clearly the new Khronos API Vulkan. The game “The Talos Principle” is mostly ported on this new API and the last NVidia drivers are supporting Vulkan.

colors

Then I’ve updated my driver, and tried the Talos benchmark with OpenGL and Vulkan. The difference of performance is just very impressive. Even if Vulkan is still considered as beta by this game, it works pretty good.

My system

Operating System
Type: Linux
Kernel: 4.5.0-2-amd64
Version: #1 SMP Debian 4.5.5-1 (2016-05-29)
Architecture: x86_64
Output of lsb_release: Distributor ID: Debian
Description: Debian GNU/Linux testing/unstable
Release: testing/unstable
Codename: n/a
Microprocessor
Vendor: GenuineIntel
Name: Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz
Type: 0, Family: 6, Model: 13, Stepping: 7
Clock: 3.60 GHz
Cores: 8
CMOV: Yes
SSE: Yes
Invariant TSC: Yes
Memory
Total physical memory: 7905 MB
Free physical memory: 3037 MB

My graphic card

Name: :0
  Display:     0x1e24260
  Window:      0x8c00002
  Context:     0x1e8ec70
  GL_VERSION:  4.5.0 NVIDIA 367.18
  GL_VENDOR:   NVIDIA Corporation
  GL_RENDERER: GeForce GTX 660/PCIe/SSE2

Benchmark

I’ve done three runs with OpenGL and with Vulkan. I use exactly the same graphic settings in both cases. Just the API has been changed. Note that I use the amd64 version of the game.

See by yourself…

OpenGL

17:21:52 INF:  - benchmark results -
17:21:52 INF:
17:21:52 INF:    Gfx API: OpenGL
17:21:52 INF:   Duration: 59.8 seconds (3921 frames)
17:21:52 INF:    Average: 65.6 FPS (69.8 w/o extremes)
17:21:52 INF:   Extremes: 139.3 max, 6.7 min
17:21:52 INF:   Sections: AI=5%, physics=1%, sound=1%, scene=68%, shadows=19%, misc=6%
17:21:52 INF:      Highs: 5 in 0.0 seconds (135.1 FPS)
17:21:52 INF:       Lows: 180 in 6.3 seconds (28.8 FPS)
17:21:52 INF:   < 20 FPS:  1%
17:21:52 INF:  30-60 FPS: 28%
17:21:52 INF:   > 60 FPS: 71%
17:23:02 INF:  - benchmark results -
17:23:02 INF:
17:23:02 INF:    Gfx API: OpenGL
17:23:02 INF:   Duration: 60.0 seconds (4109 frames)
17:23:02 INF:    Average: 68.5 FPS (73.2 w/o extremes)
17:23:02 INF:   Extremes: 140.3 max, 31.1 min
17:23:02 INF:   Sections: AI=5%, physics=1%, sound=1%, scene=66%, shadows=20%, misc=6%
17:23:02 INF:      Highs: 471 in 4.7 seconds (99.2 FPS)
17:23:02 INF:       Lows: 786 in 16.3 seconds (48.2 FPS)
17:23:02 INF:  30-60 FPS: 27%
17:23:02 INF:   > 60 FPS: 73%
17:26:01 INF:  - benchmark results -
17:26:01 INF:
17:26:01 INF:    Gfx API: OpenGL
17:26:01 INF:   Duration: 60.0 seconds (4113 frames)
17:26:01 INF:    Average: 68.6 FPS (73.3 w/o extremes)
17:26:01 INF:   Extremes: 137.4 max, 31.0 min
17:26:01 INF:   Sections: AI=5%, physics=1%, sound=1%, scene=66%, shadows=20%, misc=6%
17:26:01 INF:      Highs: 485 in 4.9 seconds (98.7 FPS)
17:26:01 INF:       Lows: 795 in 16.4 seconds (48.5 FPS)
17:26:01 INF:  30-60 FPS: 27%
17:26:01 INF:   > 60 FPS: 73%

Vulkan

17:13:33 INF:  - benchmark results -
17:13:33 INF:
17:13:33 INF:    Gfx API: Vulkan
17:13:33 INF:   Duration: 60.0 seconds (5178 frames)
17:13:33 INF:    Average: 86.3 FPS (87.6 w/o extremes)
17:13:33 INF:   Extremes: 210.6 max, 9.0 min
17:13:33 INF:   Sections: AI=6%, physics=1%, sound=1%, scene=70%, shadows=12%, misc=9%
17:13:33 INF:      Highs: 82 in 0.6 seconds (135.4 FPS)
17:13:33 INF:       Lows: 170 in 3.1 seconds (54.4 FPS)
17:13:33 INF:   > 60 FPS: 99%
17:17:46 INF:  - benchmark results -
17:17:46 INF:
17:17:46 INF:    Gfx API: Vulkan
17:17:46 INF:   Duration: 60.0 seconds (5390 frames)
17:17:46 INF:    Average: 89.9 FPS (91.6 w/o extremes)
17:17:46 INF:   Extremes: 166.3 max, 44.0 min
17:17:46 INF:   Sections: AI=7%, physics=1%, sound=1%, scene=69%, shadows=13%, misc=9%
17:17:46 INF:      Highs: 755 in 6.8 seconds (110.6 FPS)
17:17:46 INF:       Lows: 978 in 13.2 seconds (74.0 FPS)
17:17:46 INF:   > 60 FPS: 100%
17:18:58 INF:  - benchmark results -
17:18:58 INF:
17:18:58 INF:    Gfx API: Vulkan
17:18:58 INF:   Duration: 60.0 seconds (5390 frames)
17:18:58 INF:    Average: 89.9 FPS (91.4 w/o extremes)
17:18:58 INF:   Extremes: 183.3 max, 24.2 min
17:18:58 INF:   Sections: AI=7%, physics=1%, sound=1%, scene=69%, shadows=13%, misc=9%
17:18:58 INF:      Highs: 757 in 6.8 seconds (110.8 FPS)
17:18:58 INF:       Lows: 933 in 12.6 seconds (73.8 FPS)
17:18:58 INF:   > 60 FPS: 100%

Results

And note that all framerates are over >60 FPS with Vulkan. It’s not the case with OpenGL where about 27% are below. Maybe I will test with the same settings on Windows 10 too.

colors