» Sun Jan 31, 2010 10:47 pm
I've gotten a bit of play time in now. Not much aside from testing & debuging, but enough to get out of the starting dungeon, er, vault.
status of features:
FastExit: Working. Makes quitting faster.
64 Hertz fix: Working. In theory removes some microstuttering. I can't tell the difference.
FPS/time management: disabled atm - I could probably enable it with only a little work, but atm I don't have any method to do some of the things it likes to do, like distinguish between menus and game mode, or even safely tell whether or not the main menu has been reached yet
Critical Sections: I think the basic critical sections stuff is working, but the debuging & profiling mode for it is failing. More importantly, Bethesda no longer uses microsoft critical sections implementation for most of their stuff - they replaced most instances of critical sections with a custom lightweight equivalent. Bethesdas custom critical sections looks lower performance than microsfts - but higher fairness, so it will be slow, but it won't stutter much.
To really do fallout critical sections properly I'd have to write new code to handle the new thingies that I'm calling "LightCS"es (for Light-weight Critical Sections) in addition to existing code for regular critical sections (which fallout still has some of), and that would be... complicated... by the fact that they inlined some of the LightCS functions.
Heap: Currently heap replacement is disabled. Bethesda still uses their own custom heap manager, but they've changed the implementation - their new one suffers from contention slightly less and when it slows down it doesn't stutter, it just slows down, as it uses the new LightCSes for locking.
This means that a replacement heap on FO3 would probably increase speed, but have little effect on stuttering.
Also, FSR is currently not generating any console output, as I don't know how to safely do that on Fallout yet.