3 ms·
It wasn't entirely 32bit. The core certainly was, but large chunks of the UI portions were still 16-bit hence for example there was a limit of 16,386 GDI object
by dspillett 7y ago
It wasn't entirely 32bit. The core certainly was, but large chunks of the UI portions were still 16-bit hence for example there was a limit of 16,386 GDI objects across the whole OS so you would get resource depletion errors with many programs running especially if one or more of them "leaked" GDI handles. 16,386 comes from the fact that while they were four-byte (32-bit) values they were stared in a single 64Kbyte byte block of memory (the largest block byte-wise addressable by a single 16-bit register).
- ChrisSD 7y agoSure there were still some data structures that were limited by being designed in the old 16bit era. Fun fact: even today kernel "Unicode strings" are limited to a length that can be held in a signed 16bit value. Fortunately 32,767 is enough for anybody so it was never changed.
- dspillett 7y ago> Sure there were still some data structure IIRC it was more than just data structures and that other chunks of GDI were 16-bit, in part due to problems with 32-bit driver support for graphics hardware at the time.