More Hash Function Tests
In the previous post, I wrote about non-crypto hash functions, and did some performance tests. Turns out, it’s great to write about stuff! People at the comments/twitter/internets pointed out more...
View ArticleSPIR-V Compression
TL;DR: Vulkan SPIR-V shaders are fairly large. SMOL-V can make them smaller. Other folks are implementing Vulkan support at work, and the other day they noticed that Vulkan shaders (which are...
View ArticleShader Compression: Some Data
One common question I had about SPIR-V Compression is “why compress shaders at all?“, coupled with question on how SPIR-V shaders compare with shader sizes on other platforms. Here’s some data (insert...
View ArticleInterview questions
Recently saw quite some twitter discussions about good & bad interview questions. Here’s a few I found useful. In general, the most useful questions seem to be fairly open-ended ones, that can...
View ArticleAmazing Optimizers, or Compile Time Tests
I wrote some tests to verify sorting/batching behavior in rendering code, and they were producing different results on Windows (MSVC) vs Mac (clang). The tests were creating a “random fake scene” with...
View ArticleA look at 2016, and onto 2017
I don’t have any technical insights to share right now, so you’ll have to bear with me blabbering about random stuff! Unity Work By now it’s been 11 years at Unity (see 10 Years at Unity a year ago),...
View ArticleChrome Tracing as Profiler Frontend
Did you know that Google Chrome has a built-in profiler? Some people assume it’s only for profiling “web stuff” like JavaScript execution. But it can also be used as a really nice frontend for your own...
View ArticleUI is hard, and other Typical Work Stories
Recently I’ve seen a mention that game engine programming is considered a mysterious, elite, and highly demanding type of work. So let me write up what often actually happens in day to day work. Also...
View ArticleEvery Possible Scalability Limit Will Be Reached
I wrote this the other day, and @McCloudStrife suggested I should call it “Aras’s law”. Ok! here it is: Every possible scalability limit will be reached eventually. Here’s a concrete example that I...
View ArticleFont Rendering is Getting Interesting
Caveat: I know nothing about font rendering! But looking at the internets, it feels like things are getting interesting. I had exactly the same outsider impression watching some discussions unfold...
View ArticleStopping graphics, going to build engineering
I’m doing a sideways career move. Which is: stopping whatever graphics related programming I was doing, and start working on internal build engineering. Been somewhat removing myself from many graphics...
View ArticleDeveloper Tooling, a week in
So I switched job role from graphics to developer tooling / build engineering about 10 days ago. You won’t believe what happened next! Click to find out! Quitting Graphics I wrote about the change...
View ArticleA case of slow Visual Studio project open times
I was working on some new code to generate Visual Studio solution/project files, and that means regenerating the files and checking them in VS a lot of times. And each time, it felt like VS takes ages...
View ArticleHow does Visual Studio pick default config/platform?
Everyone using Visual Studio is probably familiar with these dropdowns, that contain build configurations (Debug/Release is typical) and platforms (Win32/x64 is typical): When opening a fresh new...
View ArticleUser's POV and Empathy
Recently someone at work said “hey Aras, you write great feature overview docs, what are the tips & tricks to do them” and that got me thinking… The only obvious one I have is: Imagine what a user...
View ArticleSolar Roof
I had some solar panels installed on my roof, so here’s a post with graphs & numbers & stuff! TL;DR: should more or less cover my electricity usage; easy setup; more involved paperwork; cost...
View ArticleSouth Korea Vacation Report 2017
This June we’ve spent two weeks traveling in South Korea, so here’s a writeup and a bunch of photos. Caveats: my first trip there, and very likely I mis-planned something or missed some obvious “oh my...
View ArticleUnreasonable Effectiveness of Profilers
A couple months ago I added profiling output to our build system (a fork of JamPlus). It’s a simple Chrome Tracing view, and adding support for that to Jam was fairly easy. Jam being written in C, I...
View ArticleSix Months in a Service Team
So it’s been six months since I switched to doing build engineering / developer tooling. Here are some random things I learned. It’s a service team We are working on a live codebase, with I don’t even...
View ArticleForced Inlining Might Be Slow
We were upgrading from Visual Studio 2010 to 2015 compiler at work the other day, and I noticed that Release configuration build times went up. Quite noticeably up: a full rebuild of “the engine” went...
View Article