The big one I remember was many applications, not just games assuming the buffer swap was performed by a blit into the display buffer, not an framebuffer pointer update. They relied on the previous frames data still being in the back buffer. For those applications you were forced to blit the buffer, not swap the pointer and take a performance hit.
I also remember a media player being called out by name in the code for doing invalid operations, needing a work around and code to detect it was running just to function.
The FT recently did a series on 'The AI race', which they described as 'A three-part series exploring the quest for AI capacity and the data centres at the heart of hundreds of billions of dollars in capital investment'
- ‘Absolutely immense’: the companies on the hook for the $3tn AI building boom [1][2]
- Inside the AI race: can data centres ever truly be green? [3][4]