Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Why browsers are bloated

Name: Anonymous 2014-07-27 0:20

https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/Scrollbar.cpp
https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/win/ScrollbarThemeWin.cpp
Let's reinvent the fucking scrollbar, which every goddamn platform with a UI already has, and make it behave subtly different from the native one!

Right-click a native scrollbar in some other app:
- Scroll Here
- Top
- Bottom
- Page Up
- Page Down
- Scroll Up
- Scroll Down

Right-click a scrollbar in Chrome:
- Back
- Forward
- Reload
- Save As...
...

Right-click a scrollbar in Firefox and Opera:
Absolutely fucking nothing happens!

What the fuck!? How did these terminally retarded idiots get involved in creating one of the most important pieces of software to the average user?

Name: Cudder !cXCudderUE 2015-11-10 3:53

>>698
Yes, it will be a map, but exactly what type of map? There's plenty of generic types of map but the space of properties and values is small enough that it should be possible to represent e.g. background-color: black in a single 32-bit value.

Careful design of the data structures is important because it's what sets this browser apart - it's not just another Firefox or Chrome or IE clone. Everthing has been designed from the beginning to be as efficient as it could be, before I write a single line of code. I know you might be thinking "just use a std::map<something, something>" but have you ever seen the actual implementation of such things? They're great for mapping a great many arbitrary objects to other arbitrary objects, but horribly bloated for what this particular application needs: a mapping from ~256 or less keys, to a similarly restricted set of small values ("inherit", "none", one of 2^24 colours, one of 256 opacity levels, etc.) A DOM node is not going to have several thousand CSS properties set on it (there aren't even that many in total in CSS3!), and even a hundred is going to be rare. Using a datastructure designed and optimised for 2 or 3 orders of magnitude more items for this is retarded in the same way as invoking Quicksort on a 4-element array.

>>697
The pen is mightier than the sword.

Newer Posts