Friday, March 12 2010 @ 03:38 AM GMT (Read 674 times)
Contestant
Status: offline
Registered: 01/25/10 Posts: 22
It appears that perfectly timed attacks are not being counted for the moment.... I believe I'm still getting a combat boost, but the "Perfect!" message is no longer accompanied by a chain count. Either they aren't counted, or they are but the feedback is messed up.
Me too. I'm new so I wasn't sure, but I do remember before it would say something when I got a couple in a row, and now it's not. Plus I've gotten much better at it since someone linked me to a metronome page, and am pretty sure I've gotten more than five in a row, but no medal. Is there something I should do?
Thanks.
Me too. I'm new so I wasn't sure, but I do remember before it would say something when I got a couple in a row, and now it's not. Plus I've gotten much better at it since someone linked me to a metronome page, and am pretty sure I've gotten more than five in a row, but no medal. Is there something I should do?
Thanks.
No, there's nothing you need to do - you'll get the medal and a distraction telling you you've done it. (The distraction tells you you can teach other people.)
It seems that something is wrong and it's not recording them anymore (it's not doing it for me, either) - so it looks like you'll need to wait until it gets fixed to get a medal, I'm afraid.
Thanks. What about submitting a bug report in the "I want to report a bug" thread? Or is this enough that it'll have been noted? Probably someone's petitioned for help by now too, since it's happening to other folks.
This was because of the new moduleprefs handling system, and a bug in how it incremented module prefs that had recently been cleared.
In the old system, prefs were loaded from one module at a time. One module, one query. Setting a pref (which, in multiple-round fights with my Stamina system, happens in every round of combat) wrote to the database immediately. One query every time a modulepref is updated. Now, all prefs are loaded in a single query the first time get_module_pref is called, and then they're all written back during saveuser() which happens after the page has been assembled but before it's sent to the browser.
Evolution:
Method 1, LotGD Core:
Load one module's worth of prefs from the database, write individual prefs back to the database every round of battle. Page load times on our current server were past 1 second at 80-odd players online.
Method 2 (aka CavemanJoe starts buggering around), Cached moduleprefs for Improbable Island S2, implemented sometime a little after we got on the server we're on now:
Load one module's worth of prefs from the database and cache them if those prefs haven't been written to lately, otherwise read them from the datacache. Save individual moduleprefs and invalidate the datacache... every round of battle. This is, surprisingly, faster than method 1. Average page load times exceeded 1 second at around 100 players online.
Method 3, single load, looped save, went live last week:
Load all the prefs into memory in one go, manipulate them only in memory, write them back in a loop (one UPDATE or INSERT query for each modified pref) at the end of the page load. DRAMATIC performance improvement!
Method 3.1, single load, single save, the model I want to use for DragonBones/S3 and the method I'm testing now:
As method 3, but the multiple-query loop has been replaced with a loop that builds a single query and then executes it after the loop is completed.
What does all this mean?
Well, I've done a whole bunch of advertising since I started using method 3 last week and I haven't managed to get the average page load time to go above a quarter of a second even with 170-odd players online.
I kinda wish I'd taken a closer look at the modulepref functions two server upgrades ago. :-/
Well, look at that, it's half four in the morning again.
EDIT: Oh, this new system is also why the Stamina HOF isn't working right now. I need to write a get_single_module_pref function that works like the old system did, 'cause we run out of memory when we try to load the entire moduleprefs table. Also, Oliver's Jewellery it seems uses a get_all_module_prefs function that no other module does (the jewellery module was made for LotGD) that clashes with my own new functions. I'll work on it tomorrow.
Unfortunately the technical data doesn't mean a ton to me yet, perhaps I'll learn one of these days... I'd like to. But anyway, thanks so much for putting in the time and effort to make this stuff work/keep it working well!! It's definitely appreciated.
I finally got a 5 chain medal, and can teach other players timed combat... if I ever get over my nervousness about building a character and talking in chat.