Last visit was: It is currently Sat Sep 23, 2023 1:55 pm


All times are UTC-05:00




Post new topic Reply to topic  [14 posts ] 
    Author Message
     Post subject:Irritating Onlink bu^h^h feature.
    PostPosted:Wed May 07, 2008 6:33 am 
     

    Joined:Tue May 06, 2008 4:17 am
    Posts:2
    I grabbed Onlink again recently and have been happily playing away at it on and off for a week or so now, thoroughly enjoying myself with few exceptions.

    One exception is a regular brief freeze of the game client's display. Once per minute for about 5-10 seconds. Hard drive activity spikes and the client goes unresponsive. When it clears, the game has advanced as if nothing happened. It's really breaking up the flow of the game.

    I've gone forum-browsing and the only post I can find relating to this was answered with "Get a better PC!" I'm confident that is not the issue here. The delays occur each time the user file is swapped out/backed up. My user file is currently about 12MB and rising.

    Is this a known bug or a feature we can somehow disable or change? The userfile backup feature is a good idea, but once per minute seems a bit much. I could handle this delay once in five minutes instead if it can't be removed completely.


    Pardon my verbosity (Is that even a word?). I'm awfully new to forums.


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Wed May 07, 2008 1:47 pm 
    User avatar
     

    Joined:Sat Jun 03, 2006 3:51 am
    Posts:1186
    Website:http://griffinhart.livejournal.com/
    Yahoo Messenger:Squall591
    AOL:FinalWarrior591
    Location:Look at my horse, my horse is amazing!
    Yes, it is a word.

    As for your problem, this is the first time I've heard of it, so probably not a feature, which means it's a bug. Probably.

    -- Griffinhart

    _________________
    "My word is my honor. My honor is my life."
    -- Demonchild, Angelkin, the Blackest Seraph, the Final Warrior

    Image


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Wed May 07, 2008 2:28 pm 
     

    Joined:Wed May 07, 2008 2:26 pm
    Posts:2
    I 2nd this problem. Really gets annoying. The delay seems to becomes more noticeable the longer you play a user.


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Wed May 07, 2008 3:39 pm 
     
    i posted for you on bugzilla...


    Top
      
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Sat May 17, 2008 6:55 am 
    Literally Nine
    User avatar
     

    Joined:Sat Apr 02, 2005 3:31 pm
    Posts:1171
    Location:The vicinity of an area adjacent to a location.
    Quote:
    Pardon my verbosity (Is that even a word?). I'm awfully new to forums.
    I don't speak for everyone here, but I personally appreciate verbosity. It's so much better than a one-liner post in many cases.

    As for your problem... What hardware do you have and what operating system(s) are you running? Any funky antivirus software or anything that could be terrorizing the hard drive?

    _________________
    - Tycho

    Image


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Mon May 19, 2008 1:28 pm 
     

    Joined:Mon May 19, 2008 7:52 am
    Posts:12
    i have the same problem. though it's not as bad as you guys described it, but that's probably because i haven't played that long with this user yet. i don't have any antivirus software installed. running on amd 64 x2 3800+ with 2gb ram on vista 32bit


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Thu May 22, 2008 10:42 am 
    Literally Nine
    User avatar
     

    Joined:Tue Mar 01, 2005 9:00 am
    Posts:1263
    This bug is due to the automatic saving feature.

    If it would help, I can add a disable button for that. That way the only time it'll save is when you close your user.


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Thu May 22, 2008 12:01 pm 
    Literally Nine
    User avatar
     

    Joined:Sat Apr 02, 2005 3:31 pm
    Posts:1171
    Location:The vicinity of an area adjacent to a location.
    Miah, did we ever add gzip/bzip2 compression to user saves?

    _________________
    - Tycho

    Image


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Sun May 25, 2008 2:41 pm 
     

    Joined:Mon Dec 19, 2005 4:06 pm
    Posts:112
    Location:Finland
    Quote:
    This bug is due to the automatic saving feature.

    If it would help, I can add a disable button for that. That way the only time it'll save is when you close your user.
    *votes for yes*

    It's damn annoying. Especially late in the game.


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Mon Jul 07, 2008 1:07 pm 
    User avatar
     

    Joined:Sun Jul 06, 2008 11:00 am
    Posts:6
    I know it's been a while since the last post in this topic, but I have the same problem.
    Every minute the screen freezes (except the mouse) for around 3-4 seconds.
    It's not so bad as to stop me from playing the game, but still is a bit annoying.

    So I vote for YES, too!^^
    Pleeeeeeeeease include an option in the next release to disable the autosave-function. :)

    Personally I update manually anyway. : P


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Mon Aug 04, 2008 1:38 am 
     

    Joined:Sun Sep 02, 2007 9:55 pm
    Posts:5
    I have a Core 2 Duo... I also have a laptop that's a piece of crap and tends to suffer rather a lot from this issue.

    So, I whipped the EXE into IDA Pro and found where it runs a little time check to decide whether to save; I'm running the latest Stable OnLink (to the best of my knowledge) - I only bothered to do this for SSE, you should be able to figure it out for the others if you particularly want to run x86/SSE2.

    anyway:

    go to 0x16347 in the Onlink-SSE EXE file and change "7C 33" to "EB 33" - job done, it'll stop being a pain in the arse.

    For reference if anyone wants to port it:

    you'll see in the code section it gets forced to skip, there is a call to sub_401378 - this performs the save, and is found easiest by searching for the string App::SaveGame, and of course once you have that, there's only a few xrefs to check to find the right caller.

    _________________
    MOV R0, #0


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Tue Aug 05, 2008 5:38 am 
    User avatar
     

    Joined:Mon Mar 07, 2005 9:32 am
    Posts:600
    Location:localhost
    Would it not be prudent to optimise the save operation instead of just disabling the auto-save feature?

    _________________
    BAZINGA.


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Tue Aug 05, 2008 3:46 pm 
     

    Joined:Sun Sep 02, 2007 9:55 pm
    Posts:5
    I haven't looked, but I fancy the whole operation is synchronous, I get the feeling chucking it in a separate thread would do the trick.

    ...assuming that it indeed isn't in a separate thread.

    _________________
    MOV R0, #0


    Top
    Offline  
     Post subject:Re: Irritating Onlink bu^h^h feature.
    PostPosted:Tue Aug 05, 2008 5:18 pm 
    User avatar
     

    Joined:Mon Mar 07, 2005 9:32 am
    Posts:600
    Location:localhost
    Putting it in a separate thread would probably reduce the problem (more so on multi-core processors) but it won't eliminate it. My guess would be that the large amount of data being flushed to disk hinders the other file system IO operations being performed by the game. I can completely freeze my machine if I load 200MB of data into a FileStream class and then attempt to flush it to disk all in one go:
    Code:
    // buffer[] currently contains 200MB of data FileStream fs = New FileStream("file.dat", FileMode.OpenOrCreate, FileAccess.Write); fs.Write(buffer, 0, buffer.Length); fs.Flush(); fs.Close(); fs.Dispose();
    The way to do it would be the following code in a thread with priority set to BelowNormal:
    Code:
    // buffer[] currently contains 200MB of data FileStream fs = New FileStream("file.dat", FileMode.OpenOrCreate, FileAccess.Write); // Calculate the number of full 4096-byte blocks in the file. int blockCount = (int)Math.Floor(buffer.Length / 4096); // Write and flush each block to the drive. for(int i = 0; i < blockCount; i++) { fs.Write(buffer, i * 4096, 4096); fs.Flush(); // If you import System.Windows.Forms you can do this... Application.DoEvents(); // Doing so will yield a reasonable amount of CPU time to other threads and applications. } // Flush the final (small) block if it isn't zero length. if(buffer.Length % 4096 > 0) { // The i variable should now be at the start of the final block // That is, if I remember correctly. I'm tired. fs.Write(buffer, i * 4096, buffer.Length % 4096); fs.Flush(); } fs.Close(); fs.Dispose();
    The code may need some tweaking (like using object locking and delegates to prevent threading problems), but that's essentially it. The idea is that you flush each block separately, allowing the operating system's IO buffer to cope much more easily. Oh, and in case anyone is confused, the code is in C#.

    _________________
    BAZINGA.


    Top
    Offline  
    Display posts from previous: Sort by 
    Post new topic Reply to topic

      All times are UTC-05:00


      Who is online

      Users browsing this forum: No registered users and 13 guests


      You cannot post new topics in this forum
      You cannot reply to topics in this forum
      You cannot edit your posts in this forum
      You cannot delete your posts in this forum
      You cannot post attachments in this forum

      Search for:
      Jump to:  
      cron
      Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
      Theme created by Miah with assistance from hyprnova