Live data from Hacker News

It takes a PhD to develop that

blog.royalsloth.eu

121–130 of 429 posts

Re: It takes a PhD to develop that

#121

Earlier quoted context omitted.

It's pretty straightforward case of prioritization. There are always more things to do on a game project than you have people and time to do. The game runs well enough so the people who could optimize things by rewriting them from CPU to GPU are doing other things instead. Later performance is a noticeable problem to the dev team, from customer feedback and need to ship in more resource constrained environments (VR a…

Makes sense and then it kinda agrees with parent comment that "Microsoft developers simply didn't have performance in the vocabulary". Yes, there is no doubt that "there are always more things to do on a game project than you have people and time to do". However how there is time to firstly make "main thread on single core" monster and then redo it according to game development 101 - make use of GPU. It is no joke -…

> However how there is time to firstly make "main thread on single core" monster and then redo it according to game development 101 - make use of GPU.

The single threaded code was taken from Microsoft Flight Simulator X, the previous version of this game from 2006. It was not done from scratch for the new game, and it still hasn't been replaced. They've just optimized parts of it now.

Another important performance bottleneck is due to the fact that the game's UI is basically Electron. That's right, they're running a full blown browser on top of the rest of the graphis for the UI. Browsers are notoriusly slow because they support a million edge cases that aren't always needed in a game UI.

For anyone interested in learning more about Microsoft Flight Simulator 2020 optimizations I can recommend checking out the Digital Foundry interview with the game's technical director. https://www.youtube.com/watch?v=32abllGf77g

Re: It takes a PhD to develop that

#122
In case this isn't clear, RefTerm is:

1. Faster in every case tested

2. More fully-featured, including i18n

3. Easier to read and maintain (see for yourself)

4. Shorter

5. Using existing libs, aka interops well

...So none of these typical hand-wavy dismissals apply:

1. "Is it really faster for edge cases"

2. "He probably didn't implement certain features like Arabic and Chinese"

3. "Businesses just wants enough"

4. "Businesses just wants enough"

5. "It probably makes some closed-world assumption"

The performance of RefTerm didn't come from some big tradeoff; it came from using the right perspective and keeping things simple.

Sure, past a certain complexity threshold, you'd have to work for extra perf, but from my observations, folks who immediately jump to the wrong implicit conclusion that "good perf must have required compromises" got conditioned to think this way because the software they work on are already (often unnecessarily) complex.

Re: It takes a PhD to develop that

#123
post #4
post #3

Nope! It's just that in corporate world, developers rarely do what they think is relevant for them. The people who did Windows terminal probably cared a lot about COM or WinAPI or maybe CS, but I think it's fair to imagine how they were not fans of text-oriented interfaces. It just did not occur that they should be extracting last bit of performance here. People can type just that fast, after all.

Windows terminal is a shit show. The dev blogs posts are all about useless features such as image background while fundamentals like unicode input are still broken.

My mouse would start lagging whenever I “moused” over an active Windows terminal window, in spite of running a brand new system with a 3070 GPU etc. Did they ever manage to fix that?

Re: It takes a PhD to develop that

#125
post #37

cmuratori is great software engineer, for sure, but, god, this bug report poisons the well right from the start (see below). Also the report is actually quite bad, because 40x performance drop, that is stated, could be actually nothing. If something takes 1 millisecond instead of 25 microseconds (numbers from the head, to illustrate the point), it might be an issue, but also might mean nothing. This is the thing that…

Agree, pretty unfriendly tone. I would expect from a more senior developer that he or she has a high enough social intelligence to understand how to confront others with their findings in a clear but friendly way.

Re: It takes a PhD to develop that

#127
post #92

Earlier quoted context omitted.

I was under the impression that Windows Terminal is a recent greenfield project.

Yea. Microsoft has two terminals. Command Prompt (cmd.exe) which is the default that comes with Windows, has been around forever and basically never seen a significant update. And the new Windows Terminal which is the recent greenfield project that only works on recent versions on Windows 10 and doesn't ship with Windows by default (yet). Unfortunately people often get the two confused when talking about "the windows…

Corporate practices are to blame here also, where instead of improving the existing solution, a new project is launched, which often carries nothing from the previous one.

Then the public will conflate two products, and some will avoid the new one not knowing if it's here to stay (another corporate antipattern).

Re: It takes a PhD to develop that

#128
post #7

A few hours later another programmer came up with the prototype of a much faster terminal renderer, proving that for an experienced programmer a terminal renderer is a fun weekend project and far away from being a multiyear long research undertaking. I have no idea if this is the case here, and I suspect it might not be, but pretty much every time I've seen a developer complain that something is slow and then 'prove'…

Reading the thread itself, it’s a bit of both. Windows Terminal is complex, ClearType is complex and Unicode rendering is complex. That said… https://github.com/cmuratori/refterm does exist, does not support ClearType, but does claim to fully support Unicode. Unfortunately, Microsoft can’t use the code because (a) it’s GPLv2 and (b) it sounds like the Windows Terminal project is indeed a bit more complicated than can…

> (a) it’s GPLv2

Why is that a problem? A GPLv2 terminal would not be a business problem for Microsoft. People would still have to buy licenses for Windows. Maybe they would lose a little face, but arguably they have already done so.

At least it’s not GPLv3 which this industry absolutely and viscerally hates (despite having no problem Apache 2.0 for some reason, Theo de Raadt is at least consistent).

Re: It takes a PhD to develop that

#129

The worst part is that the kind of arguments he was met with is exactly the kind of arguments people use to get headcount and climb the ladder within corporations. Spending a little time writing a well designed and fully working solution => Good job, now take the next ticket! Spending a lot of time explaining why something can't be done with this budget => Promoted to manager! Spending a year of time explaining why t…

This is neither the problem nor what the article is talking about. Your argument is so overgeneralized that i don't even know where to start taking it apart.

Re: It takes a PhD to develop that

#130

It's a shame that engineers commit their time for free for the benefit of multi billion corporation. Why do they do it? These corporations are not your friends.

I think you will like that: https://github.com/cmuratori/refterm/issues/17

Is there an aggregator for “coding drama”? Because this was all very fun to see.
Post reply on HN