4 ms·
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] Amaz
by masswerk 7y ago
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/ https://www.masswerk.at/icss/
- masswerk 7y agoP.S.: For details on the project, see the blog at https://www.masswerk.at/rc2016/10/ https://www.masswerk.at/rc2016/10/ (And for a description of Computer Space, see https://www.masswerk.at/rc2017/04/02.html https://www.masswerk.at/rc2017/04/02.html)
- inflatableDodo 7y agoThanks for that, I have just been thoroughly massacred by aliens.
- dTal 7y agoWell that just cries out for some snarky user-agent-sniffing "upgrade your browser" overlay.
- reitanqild 7y agoWould love that: some really funny message that would make people stop and think.
- masswerk 7y ago"Please downgrade your browser to Google Chrome 52"?
- StavrosK 7y agoYes! 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."
- masswerk 7y agoThere'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.
- vanilla_nut 7y agoHave 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.
- shawabawa3 7y agofyi that works for me at 60fps in chrome 74 on a 2018 macbook pro
- masswerk 7y agoInteresting. So it may be related to hardware acceleration (GPU)? Or even processor type (think side channel attack mitigations.)
- mistercow 7y agoFWIW, I tried both with and without hardware acceleration on my 2018 MBP, and it worked fine both ways.
- masswerk 7y agoIt'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.
- sjs382 7y agoIs 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.
- katsura 7y agoOpen 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.
- BartBoch 7y agoSame here, working just fine on Windows. I have hardware acceleration disabled though.
- mikehodgson 7y ago
- milesokeefe 7y agoDo you know what changed in Chrome that caused the slow down?
- masswerk 7y agoI 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!
- masswerk 7y agoNow we only need some code to opt out of Chrome hardware acceleration on a per-page basis.
- N3cr0ph4g1st 7y agoWorks for me too windows 10 and chrome beta
- masswerk 7y agoUpdate: 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.)