Will somebody fix that dang leaky faucet?!?

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Will somebody fix that dang leaky faucet?!?

      Should the developers at Bytro fix the oldest existing bug in Call of War...the Memory Leak issue? 5

      The result is only visible to the participants.

      OK, FINE.

      There are issues with this game. It's been in development for years and it's based on the game engine of another Bytro game that is far older.

      Of course, new bugs will creep up from time to time, especially with each new update. But some bugs are old and have a difficult time getting fixed. Then there are some bugs that are really old, and the developers seem to be having much trouble fixing.

      And then there is one bug....the BIGGEST BUG OF THEM ALL.

      And I'm talking, of course, about the huge memory leak issue. Since this is a browser-based game, it relies heavily on Java/Javascript, DOM callbacks, JSON encoding, and other coding tools, etc. But the one thing that the developers seem to lack a good grasp on, is the system of multi-threaded processes....most notably, the "garbage collection" aspect of reclaiming memory.

      Now, I'm no novice when it comes to software process threading and memory allocation. And though I'm not on the development team, I've looked at pieces of the code which are accessible, and yet I can't identify the specific cause of the issue due to access restrictions and a serious case of obfuscated and spaghetti code.....too bad, too, because Bytro clearly needs my help.

      Though I can't pinpoint the source of the memory leak, through diagnostics testing of various browsers — and of this game in each — there's one thing I'm certain of, is that this game....and ONLY this game....continues to swallow up more and more system memory as time goes by. Worse, it's something that we (as users) can only fix by restarting the browser.....something we should not have to do.

      Now, I've found a particular article (posted at the bottom of this) that seems to do a good job, not only of explaining the issue, but showing how the developers can use DevTools to find the source of the memory leak so that they can fix this horrible bug ONCE AND FOR ALL!

      Now, I expect there may be disagreement between members of the dev team as to whether this is a serious issue or not, or even that it is an issue. Well, don't rest on your laurels. This is INDEED a very serious issue. It slows the game, it slows down people's systems, and it puts a sour taste in the mouths of the user community.

      Worst, this issue has been going on possibly even from the very beginning....I ought to know as I've been playing this game a very long time. And to top it all off, if I can remember right, it seems like one of the devs once had the audacity to tell me that this memory hogging aspect of the game (my words) was actually deliberate....BY DESIGN, if you can believe it.

      That's like trying to take credit for the Leaning Tower of Pisa....because it leans! Sure, it may be culturally and architecturally fascinating....but it's NOT SUPPOSED to lean! And the architect of it made a grave error in it's design by not taking into account the soil conditions underneath.

      Look, I'm not saying this is a fault, nor trying to place guilt or blame on any person. But the bug is real and a solution exists; it just has to be found. It may take some serious and sober self-analyzing of the whole game engine — in concept, as well as in code — to face down an acceptance of the needed solution. But to fail to embrace this problem and bring it's resolution....especially after this article shows them the truth of things....would bring a pall over the integrity of this game and a cloud of anger that would slowly build among the community.

      Now, to drive my point home, I'm going to start an open-ended poll to give other members of the community a very fast and easy way to throw their support to this issue. They are welcome to complai....I mean, post their comments here, as well.

      Please, for the sake of the whole player community, fix this dang leaky faucet....


      The post was edited 4 times, last by Devious Rancor ().

    • No need to worry about it really. With my 1.5 games I was able to achieve 9 days of up time without a restart.
      War is a game that is played with a smile. If you can't smile, grin. If you can't grin keep out of the way til you can. - Winston Churchill



      VorlonFCW
      Main Administrator
      EN Support Team | Bytro Labs Gmbh

      >>> Click Here to submit a bug report or support ticket <<<
    • There are far greater problems than having to occasionally close and re-open a browser window.
      Markets have been distorted for some months now.
      Most games have food over 20,
      and goods sell for 1.didly!

      Both due to the 'balancing' change which replaced goods with food for research.
      Unlikely any problems will be repaired, since the impetus now is on the transition to CoW 1.5 (which has the even worse
      imbalance: manpower required for research.)

      Food n CoW.png
    • cycle9 wrote:

      There are far greater problems than having to occasionally close and re-open a browser window.
      Markets have been distorted for some months now.
      Most games have food over 20, and goods sell for 1.didly!

      Both due to the 'balancing' change which replaced goods with food for research.
      Unlikely any problems will be repaired, since the impetus now is on the transition to CoW 1.5 (which has the even worse imbalance: manpower required for research.)
      I think the Food shortages may not "only" be because of the research imbalance. I think it's also because of the permanent switch from normal AI to Elite AI for all games. The old AI would sell surplus Food and make reasonably-priced offers for both buying and selling. But the Elite AI is either so desperate for all the Food it can glom onto that it's willing to pay top dollar (thus driving up the market price for NPC's which have a surplus) or else the Elite AI isn't developing Food provinces with as much of a priority as before. I'm not sure which it is, but the problem seemed to start with the AI change.

      Also, at the same time, another imbalance crept in....that of overpriced Rares. Though they limited it to 30 (it used to be 60), the AI now shoots the price of Rares to the max in most matches. Still, some few matches will have over-abundance driving down the prices ridiculously (just as it does for the other resources), though Food is not the least-often resource to get driven down by excess among the AI players.

      As to the new update they are working on, I'm making an effort to change how the devs perceive the new version.
      My thing is to push for "CoW 1.5" not to replace "CoW 1.0_permanent", but instead to make CoW 1.5 a modded version of the game, never to replace 1.0_permanent

      Don't like calling the current (and only good version) of Call of War "1.0_permanent"? Then help me come up with a better moniker for a game that needs not, and should not ever be changed into Conflict of Nations lite (especially their horribly misguided attempt to prevent non-urban provinces from becoming unit producers, which directly conflicts with the realities of WWII, and also the overly-powered forces with over-priced costs, as well as the sickeningly-fast production which attempts to force players to pay for High Command in order to be competitive (automating a queue should be free, not "to pay for", while other automations should be added to, to give the morally-correct value to "High Command" and stop unbalancing the game (though not as bad as Gold premium points do))).
    • cycle9 wrote:

      There are far greater problems than having to occasionally close and re-open a browser window.
      Oh, and I forgot to mention....YOU ARE TOTALLY WRONG HERE!!!

      There has been....and never yet not been true....no bigger
      problem than this. It slows down my browser for other open tabs, it makes it very difficult to "keep alive" the game window, and it slows down overall performance.


      VorlonFCW wrote:

      No need to worry about it really. With my 1.5 games I was able to achieve 9 days of up time without a restart.
      Though you technically should NEVER have to restart the game, that's entirely besides the point....and 'I' do need to worry. Besides the fact of the game's poor performance on my not-too-pathetic computer, the memory glitch should be fixed even if for no other reason than it is a TITANIC EMBARRASSMENT on the part of the developers who have utterly failed to fix this very long term problem.

      Besides, it's an integrity issue. You should be able to say, "Our development staff takes this problem seriously, and they are tirelessly working on a solution that will make this game perform not just 'sufficiently' but at peak levels. The infamous 'memory leak' issue has gone on long enough and we want to be able to pride ourselves on a product that not only looks good but runs very well and very efficiently....as all apps should."

      Now, if the staff foolishly wishes to ruin the game by making it akin to Conflict of Nations Lite, with all of those CoW 1.5 game play changes, then they'd better SERIOUSLY consider fixing this memory leak issue before making the CoW 1.5 changes a permanent thing. Otherwise, not only will they have broken the game, but they will have broken an already-broken game, thus making this a product that I and many other long-term dedicated users will no longer wish to be a part of. This is going to drive a huge wedge in the gaming community and may begin a "Food-shortage death spiral" (of sorts) where they lose too many paying users and force the game to spiral into financial upheaval....and oblivion.


      Please, don't let Call of War 1.5 be the death knell of the franchise.

      (and fix that dang memory leak BUG.)


      :wallbash
    • In one of my matches, a person asked me to better explain this whole "memory leak" issue and wondered if it was why their game often slowed down on the bigger maps. I showed them how it was so in this correspondence to them.


      lastchancecafe wrote:

      Could your issue be the reason some games take so long to load and why each command you give your troops takes so long to execute? If that is it, that is the reason I stopped playing the world map games. It takes forever to build units and send them on missions. I haven't had that problem on any of the smaller maps.
      That issue causes a myriad of slow-down issues in this game. Usually, the longer it's been since restarting the browser, the worst the problem gets. But it doesn't always happen.

      The thing is, that the browser has to share system resources with other applications running in the background. The computer has to manage portions of time and portions of processor power on a per-millisecond basis. That is called "processor threading".

      When the system has lots of things happening at once, it must spread out resources thinner and thinner. When it does, overall performance is reduced. Now, a program can have it's priority raised or lowered by the system, by the program (via request), and even by the user (special request). But though that can affect processor resources allocated to the program, it doesn't change the memory resources allocated to that program.

      That is where the whole "memory leak" issue comes into play. When an application or program tries to acquire too much memory....far more than it needs, then the limitations of the processor "bus" (the throughput capacity between the brain of the computer and its 'current' memory (like what a person is thinking about when they are thinking, as opposed to something they know, but aren't currently thinking about))———those limitations to the bus forces the computer's processor (the brain) to have to sit and wait for information to be retrieved from the memory (RAM, the "conscience memory" of sorts) during it's allocation (its time slot when the processor is paying attention to the program). So, it's akin to trying to make a decision when you've forgotten what it was you were doing, because you were distracted by something else.

      Anyway, when an application doesn't need to use too much of the system's memory allocation (it's share of the RAM) then when it does get a turn at the processor (the multi-threaded portion of the brain that it gets a shot at), the "brain" gets to give it maximum processing time (that is, like it's focused) without having to wait for the thought to come to the front (like having a word on the "tip of your tongue" so to speak), so the overall performance is good.

      That memory leak issue slows everything down because it's causing a traffic jam of the 'bus' memory by using up too much RAM. The leak is caused by the application (in this case, the browser window's memory resources as used by Call of War), which keeps asking for more and more memory to meet it's needs.

      In order for an application to continue, it has to be able to erase from it's own memory, that of any bad or unneeded data. This is literally called "deallocation" of the memory. But a memory leak fails to properly do that, and so old memory that is no longer valid, sits wasted by useless data and the program can't reuse that memory because it no longer knows how to access it (something called "broken links"). That hogs the system's resources over time.

      When that deallocation consistently or frequently fails to reclaim wasted space, it's called a "memory leak"....like a leaking faucet. When it happens, the program keeps thinking it doesn't have enough memory to operate normally, so it gets access to more and more until there isn't any more. And, as I said earlier, when that available memory starts to runs out, the system slows down.

      The only true fix for a memory leak is the appropriate usage of a friend of good processor threading, a technique called "memory deallocation". In most computer languages, especially the ones that compile at runtime (that is build themselves at the time they are needed rather than before release as "applications", the memory leaks can fix themselves which makes for lazy programming. But in precompiled applications, memory management requires careful usage of deallocation.

      That deallocation requires careful insight into how computers work with threading and memory. But for those lazy programmers, there is a simpler solution made available in compile-at-runtime types of programming languages (the ones that aren't precompiled), and that solution is called "garbage collection". It's a simplified way to automatically reclaim all lost and unused memory when a process thread is closed (something that happens all the time in computing).

      But, if the developers at Bytro don't allow for the Call of War application to properly exit portions of itself, or not to exit them at all — let alone "properly" — then the garbage collection features of the language (in this case, Java or the C# programming languages with scripting front end GUIs)———those garbage collection features fail....or worse, aren't even utilized at all until the browser is closed and restarted. Thus the memory leaks goes on and on until the browser is restarted.

      TL;DR
      The solution for memory leaks is better memory management. Improper memory management leads to the memory leaks which leads to poor system performance. The solution is to properly deallocate the unneeded system memory and/or to frequently utilize garbage collection to clean up the memory as is appropriate to the situation. Bytro is not doing this. THAT is the source of the memory leak and THAT is why your system slows down when playing this game for more than a few minutes