Skip to content

Commit 8ad208d

Browse files
authored
Merge pull request #76 from eduameli/main
300FPS Triangle FAQ
2 parents bb9ecbd + 05ef521 commit 8ad208d

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: 'help! my triangle is only 300fps!!!'
3+
slug: 'optimised-triangle'
4+
date: '2025-09-24'
5+
authors: ['jaked', 'eduameli']
6+
tags: ['faq', 'article']
7+
---
8+
9+
Don't worry! your triangle running at a mere 300 fps is perfectly normal. The purpose of this post is to try to convince you it is not
10+
a good use of your time to try to optimise hello-triangle.
11+
12+
- 300fps is still pretty fast! ~3.33ms
13+
14+
- FPS can be a misleading performance metric, as it changes non-linearly as you optimise your frame.
15+
A 10fps difference from 60 to 70fps is ~2.38ms while the difference from 300 to 310fps is ~0.107ms.
16+
To actually profile your application it is much better to use dedicated tools like [Nsight Graphics](https://docs.nvidia.com/nsight-graphics/UserGuide/) or [Tracy](https://github.com/wolfpld/tracy).
17+
18+
- Modern GPUs are very complex, and performance **does not scale linearly with scene complexity**, for example, if one triangle runs at 300fps this doesnt mean five triangles will run at 60fps.
19+
GPUs are designed to have really good throughput at the cost of latency.
20+
21+
- When rendering one single triangle, most of your frametime may just be **overhead**, this could be your window manager, driver or API state validation to name a few.
22+
23+
- **hello-triangle** is simply not a representative workload for _real applications_, which are way more complex with lots of factors affecting performance and a **compromise between speed and
24+
quality**. In order to properly judge the performance of your engine, you should at least use a test scene such as [Intel Sponza](https://www.intel.com/content/www/us/en/developer/topic-technology/graphics-research/samples.html) or
25+
[Bistro](https://developer.nvidia.com/orca/amazon-lumberyard-bistro).
26+
27+
Good luck on your journey learning graphics!

blog/authors.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jaker:
99

1010
deccer:
1111
name: deccer
12-
title: Graphics Programming Beginner
12+
title: Combative Axis
1313
url: https://github.com/deccer
1414
image_url: https://avatars.githubusercontent.com/u/15695435?v=4
1515
page: true
@@ -51,3 +51,9 @@ devshgraphicsprogramming:
5151
page: true
5252
socials:
5353
github: devshgraphicsprogramming
54+
55+
eduameli:
56+
name: eduameli
57+
title: graphics programming noob
58+
url: https://eduameli.gitlab.io
59+
image_url: https://avatars.githubusercontent.com/u/165940955?v=4

blog/tags.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ showcase:
1313
permalink: /showcase
1414
description: Graphics Programming Discord Server Showcase
1515

16+
faq:
17+
label: faq
18+
permalink: /faq
19+
description: Frequently Asked Questions

0 commit comments

Comments
 (0)