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

Anecdotal observation: A few years ago, I made a video game for an early 1960s computer, the PDP-1, running in an homegrown emulator in web technology. [1] Amazingly, the game runs at 60 frames per second (yes, you could do this with early 1960s tech), and, amazingly, browsers were able to render the emulation, including a rather complex simulation of the dual-phosphor screen, at 60 fps (you could do this in 2016). Admittedly, Chrome wasn't the fastest browser then, skipping a frame now and then, but caught up with others browsers over the next year. That is, until a few revisions ago, when something inside Chrome went terribly wrong, causing the browser to grind over the emulation in single-digits frame rates. Other browsers, like Firefox and Safari, are still running the emulation (which is as of 2012) happily at 60 fps, but these combine just about 15% of the intended desktop audiences. So for all measure and market concentration, the project is dead by now, due to a bug in the dominant browser. More importantly, it fails to deliver the proof it was intended to provide, namely that you could do a video game at 60 fps around 1960, because you randomly can't do so today.

[1] https://www.masswerk.at/icss/




Well that just cries out for some snarky user-agent-sniffing "upgrade your browser" overlay.


Would love that: some really funny message that would make people stop and think.


"Please downgrade your browser to Google Chrome 52"?


Yes! Why don't you do that? Every other website gives me flak for using Firefox, why are people reluctant to do the same when it's Chrome that doesn't work?

"Due to a bug in modern versions of Chrome, this website only works with Firefox, Safari and Chrome 52 or earlier."


Have you ever tried to downgrade a modern browser? Every browser has an auto-update mechanism built in, usually running in a separate process (Google Updater is the Chrome one, iirc) that apparently was installed alongside its respective browser and given permissions to manipulate all of the files belonging to that browser at will. It is exceedingly difficult to remain on an earlier version because these processes are so hard to stop, and most browsers don't even give you the option to ignore automatic updates any more. Even if you do manage to, expect to be harassed every few minutes by popups helpfully offering to update your browser.


That leaves the with only the best option:

Upgrading to a better browser ;-)


Don't ruin my hard earned "funny message that would make people stop and think"-badge by presenting simple alternatives! ;-)


There's already a small section on this in the descriptive text. However, I think, in the broader picture this is more about aggressive optimization and nondeterministic behavior from the high level programming language point of view. Which may happen to any product. (E.g., at some point, Safari mobile had a problem, where some code it should have fallen back to in time critical moments was apparently already purged from memory.) The point is really, if you put all eggs into a single basket/browser, what may have been a minor trifle else is elevated to a completely different level.


Update: Apparently, the problem is related to hardware acceleration. At least, disabling it works fine for me. The page in question has been updated to include a note on this.

Thanks to everyone who reported their experiences and helped to track down the issue!

On a more general level, the argument about all the eggs and a single basket still stands. (Knowing why a particular basket fails doesn't help the eggs.)


P.S.: For details on the project, see the blog at https://www.masswerk.at/rc2016/10/

(And for a description of Computer Space, see https://www.masswerk.at/rc2017/04/02.html)


fyi that works for me at 60fps in chrome 74 on a 2018 macbook pro


Same here, working just fine on Windows. I have hardware acceleration disabled though.


Interesting. So it may be related to hardware acceleration (GPU)? Or even processor type (think side channel attack mitigations.)


FWIW, I tried both with and without hardware acceleration on my 2018 MBP, and it worked fine both ways.


It's definitely bound to hardware acceleration: I just tried on an old MacPro (2008) and it stutters with hardware acceleration enabled, but runs smoothly without. Apparently, there are some overoptimistic assumptions about the GPU hardware available.


Works fine on Windows as well, also Chrome 74.


Is there a FPS display option that I don't see?

Nonetheless, it runs smoothly on Chrome 76.0.3807.0 (Canary) on a Late 2013 iMac.


Open the developer console, press ctrl+shift+p (I guess, cmd instead of ctrl in Mac), a search bar shows up, write "fps" in it, and there you can turn on an FPS meter popup.


Thanks for that, I have just been thoroughly massacred by aliens.


Do you know what changed in Chrome that caused the slow down?


I had a number of theories (involving arrays newly allocated, where they should have been reused in a managed stack, and extensive heap allocation, clamped array implementation, side channel attack mitigations running wild, etc). However, as it turns out, it's apparently about hardware acceleration (and probably about some overoptimistic assumptions made).

I.e., I just tried on an old MacPro (late 2008) with hardware acceleration disabled (Settings -> Advanced -> System -> Hardware acceleration + restart) and it runs smoothly.

Edit: Just updated the page accordingly. Thanks to everyone who helped in focusing on the matter of hardware acceleration!


Now we only need some code to opt out of Chrome hardware acceleration on a per-page basis.


Works for me too windows 10 and chrome beta




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

Search: