Hacker News new | past | comments | ask | show | jobs | submit login

> what I see in that demo is that:

Remember: this is a demo written by one person over a few days, and not, you know, a full team of people at a multi-billion-dollar corporation.

> Microsoft's devs linked to a very nice website

> some of these ... hard according to the linked site ...

1. It's more excuses, and 2. we are not talking about "everything on the website".

He took all the constraints that the Windows terminal team imposed (you have to use DirectDraw, you have to go through conio, you have to use the unicode subsystem in Windows), and:

- even using those constraints he sped up the terminal 10x

- he already does things than windows terminal doesn't, for example: correct Arabic with correct ligatures despite "omg this website shows why it is so hard". So yes, he caches glyphs, and still displays proper Arabic text (something Windows terminal doesn't do) with varying widths etc.

And that 10x speedup? Instantly available to Windows terminal if only they use a cache of glyphs instead calling DirectDraw on every character. This is not rocket science. This is not "phd level research thesis". This is just junior-student-level work.

As to the issues:

- he was the very first one to point them out because he a) knows about them and b) knows how to solve them

- yes, the solutions he proposes are easy: the main "issue" is DirectDraw improperly handling font substitution, and his proposed solutions (resample glyphs after draw or skip DirectDraw and write your own glyph renderer) are easy. He literally does that for a living.

- omg text selection. Yes, text selection is a hard problem. But it's not an impossible problem, and nothing about text selection should bring the renderer from 5k fps to 2fps

> some people with only cursory knowledge about the problem would dismiss as "this must be a quick job"

These are not "nitty-gritty" details. And they are definitely not from a "person with cursory knowledge". There's nothing new in terminal rendering.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: