
Technical Director at Fool's Theory. Working on The Witcher 1 remake. Recently released The Thaumaturge. Awarded with #BAFTA for #EthanCarter.
Poland
Joined February 2013
- Tweets1.3K
- Following89
- Followers1.7K
- Likes40.9K
Krzysiek Justyński retweeted
Unreal Engine 5.8 performance highlights article is live! Focusing on the most interesting changes affecting performance, profiling, and optimization.
New features for profiling with Unreal Insights, tons of shader permutations improvements, and many useful new CVARs and changes that a buried in the full release notes. Find all highlights below:
tomlooman.com/unreal-engine-…
Krzysiek Justyński retweeted
UE 5.8 finally fixes the default texture issue in your master materials!
Until now, any referenced texture in the base (material) material would still be loaded for Material Instances, even if overwritten in all instances. Fixed in 5.8 and can be controlled using r.Material.StripUnusedDefaultTextures
Krzysiek Justyński retweeted
First Look at Epic Games Lore VCS - a new article on my blog
asawicki.info/news_1803_firs…
Krzysiek Justyński retweeted
We're working to make it easier for developers to find and fix GPU crashes on Windows. Today, we're excited to announce the DirectX Dump Files Preview!
Learn more here: devblogs.microsoft.com/direc…
Krzysiek Justyński retweeted
Epic Gamesの言語「Verse」の公式ドキュメント“Book of Verse”、読んでみると発見が多い。気になったところを少しずつ紹介していきます。
まず面白かったのが「すべてが式」という考え方。
普通の言語の if は値を持たないけど、Verseは if も for も"答え"を返す。
だから言語まるごと算数みたいに、答えを部品として組み合わせて書ける。
verselang.github.io/book/
Krzysiek Justyński retweeted
A number we've seen in our dreams 🥹
This studio was the dream of specialists who left leading studios to settle near the Beskidy Mountains. Many called it foolish, but look at us now! What started as a small collective of industry professionals grew beyond our imagination.
Since then, we have created Seven: The Days Long Gone and our magnum opus, The Thaumaturge. The latter is averaging Very Positive reviews on Steam ❤️ Proving it’s possible to create great entertainment in a supportive work environment.
Thank you, Fool's Theory team! Your drive and talent made this growth possible. Here’s to the next chapter 🥂
Krzysiek Justyński retweeted
🏴 ENGLISH: Eat, eats, ate, eaten, eating
🇵🇱 POLISH: Jeść, zjeść, jadać, zjadać, jem, zjem, jadam, zjadam, jesz, zjesz, jadasz, zjadasz, je, zje, jada, zjada, jemy, zjemy, jadamy, zjadamy, jecie, zjecie, jadacie, zjadacie, jedzą, zjedzą, jadają, zjadają, jadłem, jadłaś, zjadłem, zjadłaś, jadalem, jadałaś, zjadałem, zjadałaś, jadi, jadła, jadło, zjadi, zjadła, zjadło, jadałem, jadalam, jadało, zjadalem, zjadalam, zjadało, jedliśmy, jadłyśmy, jadaliśmy, jadałyśmy, zjadaliśmy, zjadałyśmy, jedliście, jadłyście, jadaliście, jadałyście, zjadaliście, zjadałyście, jedli, jadły, jadali, jadały, zjedli, zjadły, zjadali, zjadały, jedzono, zjedzono, jadano, zjadano, jedz, zjedz, jadaj, zjadaj, jedzmy, zjedzmy, jadajmy, zjadajmy, jedzcie, zjedzcie, jadajcie, zjadajcie, jadłbym, jadłabym, jadałbym, zjadałbym, jadłbyś, jadłabyś, jadałabyś, zjadałabyś, jadłby, zjadłby, jadałby, zjadałby, jadłaby, zjadłaby, jadałaby, zjadałaby, jadłoby, zjadłoby, jadałoby, zjadałoby, jedlibyśmy, zjedlibyśmy, jadalibyśmy, zjadalibyśmy, jadłybyśmy, zjadłybyśmy, jadałybyśmy, zjadałybyśmy, jedlibyście, zjedlibyście, jadalibyście, zjadalibyście, jedliby, zjedliby, jadaliby, zjadaliby, jadłyby, zjadłyby, jadałyby, zjadałyby, jedzony, jedzona, jedzone, zjedzony, zjedzona, zjedzone, jadany, jadana, jadane, zjadany, zjadana, zjadane, jedzonego, jedzonej, zjedzonego, zjedzonej, jadanego, jadanej, zjadanego, zjadanej, jedzonemu, zjedzonemu, jadanemu, zjadanemu, jedzoną, zjedzoną, jadaną, zjadaną, jedzonym, zjedzonym, jadanym, zjadanym, jedzeni, zjedzeni, jadani, zjadani, jedzonych, zjedzonych, jadanych, zjadanych, jedzonymi, zjedzonymi, jadanymi, zjadanymi, jedzący, jedząca, jedzące, jadający, jadająca, jadające, zjadający, zjadająca, zjadające, jedzącego, jedzącej, jadającego, jadającej, jadającego, jadającej, zjadającego, zjadającą, zjadającej, jedzącemu, jadającemu, zjadającemu, jedzącym, jadającym, zjadającym, jedzących, jadających, zjadających, jedzącymi, jadającymi, zjadającymi, jedząc, jadając, zjadając, zjadłszy...
Krzysiek Justyński retweeted

John Carmack@ID_AA_Carmack23 Dec 2025
🇺🇸
United StatesConnected via United States App StoreAccount-level information, not a live location or per-post device.
I can’t believe I only just now found out about this four years late while trawling through settings, but windows terminal has (literally!) “Quake Mode”, where win+backtick/tilde opens/closes a terminal at the top of your screen.
Krzysiek Justyński retweeted
Hitches can occur for many reasons when loading and unloading map content🗺️
For this #TuesdayTips, jump into our guide to recognizing common level streaming hitches in your Unreal Insights captures and tips and links to resources to address them: epic.gm/avoiding-level-strea…
Krzysiek Justyński retweeted
When writing shaders in HLSL, be it in Unreal Engine 5, Unity, or any other engine for that matter, it is useful to remember about two intrinsic functions: 𝗿𝗰𝗽 and 𝗿𝘀𝗾𝗿𝘁.
Function 𝗿𝗰𝗽(𝘅), short for "reciprocal", simply calculates a reciprocal, that is the expression: 𝟭 / 𝘅.
Calling rcp in your shaders will generally be faster than calculating 1/x directly. So if you do a lot of divisions this might make a performance difference.
A sister function to rcp is 𝗿𝘀𝗾𝗿𝘁(𝘅), short of "reciprocal square root". It calculates exactly that - the reciprocal of the square root: 𝟭 / 𝘀𝗾𝗿𝘁(𝘅).
Same logic applies here as with rcp, that is calling rsqrt will in general be more performant than calculating 1/sqrt(x).
These two functions in general will result in faster code although this can happen at the expense of precision, so when using them always profile and examine the outputs closely.
Now have a look at the example in the attached image. It shows two ways of normalizing a vector in a UE5 material. One is via the standard 𝗡𝗼𝗿𝗺𝗮𝗹𝗶𝘇𝗲 function, which under the hood calls the standard HLSL full-fledged 𝗻𝗼𝗿𝗺𝗮𝗹𝗶𝘇𝗲 function.
Then, below that, is an alternative which normalizes a vector by:
- calculating the squared length of a vector
- multiplying the vector by 𝟭 / 𝘀𝗾𝗿𝘁(𝘀𝗾𝘂𝗮𝗿𝗲𝗱 𝗹𝗲𝗻𝗴𝘁𝗵)
Why this works?
Because the expression 𝟭 / 𝘀𝗾𝗿𝘁(𝘀𝗾𝘂𝗮𝗿𝗲𝗱 𝗹𝗲𝗻𝗴𝘁𝗵) is equal to 𝟭 / 𝗹𝗲𝗻𝗴𝘁𝗵, and when we multiply the vector by the inverse of its length we are normalizing it.
To sum up: if precision is important for your case, use standard normalization (𝗻𝗼𝗿𝗺𝗮𝗹𝗶𝘇𝗲 function in HLSL).
If precision can be sacrificed a bit then use 𝗿𝘀𝗾𝗿𝘁.
Always profile and inspect the outputs carefully.
.
Krzysiek Justyński retweeted
I just discovered that you can just run a ForEach loop over a Map in Blueprints...
I used to always get the array of keys, loop over that and then find the value in the map🤦
Krzysiek Justyński retweeted
What a fantastic presentation.
Niagara is absolutely one of the things why I love UE - it can be simple and incredibly advanced at the same time.
youtu.be/71c5yv-XeY8
Krzysiek Justyński retweeted
When an Unreal 5.3+ game runs, it will immediately kick off precompilation of global shaders. You should wait for that to complete before starting the game, otherwise you'll likely get hitches. You do that with the NumPrecompilingPSOsRemaining node. #uetips
Krzysiek Justyński retweeted
If you want to see me fumble around and try to explain our updates to the Game Anim Sample in 5.7 (along with my very talented colleagues who did NOT fumble around), be sure to check this out!
Some live mover demos begin at 1:42:00 for those curious!
youtu.be/i27eY7LbRzc
Krzysiek Justyński retweeted
We attempted to cram over 100 #uetips into a single presentation at Unreal Fest Stockholm. Did we succeed? Find our right here 👇
youtube.com/watch?v=4w0PWcRw…
Krzysiek Justyński retweeted
Percentage of Steam users by GPU performance
old.reddit.com/r/pcmasterrac…
Krzysiek Justyński retweeted

Sebastian Aaltonen@SebAaltonen9 Nov 2025
🇫🇮
FinlandConnected via Finland App StoreAccount-level information, not a live location or per-post device.
I have to disagree with Joe. Real-world rendering is nowadays clustered GPU-driven rendering. When we (Ubisoft) implemented GPU-driven rendering in 2015, we noticed that freeing artists from the draw call bottleneck, made the triangles the next bottleneck. Clustering algorithm prefers area local triangles. Thin long triangles make the cluster's bounding box bigger, which means that it has worse viewport/occlusion culling behavior.
Thin triangles are even worse for ray-tracing. Nvidia is specifically saying that artists should fan like geometry in their blog post:
developer.nvidia.com/blog/cr…
Krzysiek Justyński retweeted
Subsystem Browser Plugin v1.5
- Context menu Quick Actions
- Filtering subsystems with Ignore List
- Extended world types to view
And more changes on GitHub & Fab
github.com/aquanox/Subsystem…

























