silverkitty23 wrote:I have a theory that the reason I can play high-end 3D games all day and crash the card on 2D games has to do with 3D libraries being more careful about unloading textures they no longer need and making other graphics optimizations, it's probably at the level of some third-party library you're using being "looser" with 2D graphics because "surely it doesn't matter" and not really something you can do much about.
This is more or less right. There are really 2 issues here; one is that I'm using a somewhat unconventional low-level graphics API (OpenGL rather than DirectX), and OpenGL tends to have less stable drivers (on Windows, anyhow). The 3D games you're playing are almost certainly written in DirectX, which means the drivers they depend on tend to be better debugged (if only because more games use them, so the vendors pay more attention when glitches are uncovered).
The other issue is that when I wrote the planet rendering systems, I was more concerned about getting fancy effects working than managing texture memory carefully. And, as a result, when you get a map with enough planets, the texture load on your card is significant (1GB+). Most dedicated video cards can handle that without trouble, and even a non-dedicated adapter *ought* to be able to handle it by doing a little bit of virtual memory paging in the background. In practice, however, the Intel drivers tend to run out of memory, rather than paging, once we've loaded up enough planets.
There are ways that I could work around this -- basically just by juggling planet textures between the disk and video memory depending on the likelyhood that they'd be needed to render an upcoming frame. It's not *that* hard (I actually already have a similar system for juggling the ship textures), I just haven't made the time to code it up. (As a tiny independent dev team, we have less resources to throw at hardware compatibility issues than AAA teams, and sometimes that shows
The NVIDIA bug you're seeing is far less common though. In my experience, NVIDIA OpenGL drivers tend to be very stable; the crash you're seeing when running with the NVIDIA drivers makes me suspect a *hardware* issue, i.e., something may be physically broken inside your card. It could be a physical defect that's only effecting execution paths used by 2D games, which could explain why you're only seeing it when playing certain titles.