Announcement

Collapse

Forum Rules

  • No flaming or derogatory remarks, directly or through insinuation.
  • No discussion, sharing or referencing illegal software such as hacks, keygen, cracks and pirated software.
  • No offensive contents, including but not limited to, racism, gore or pornography.
  • No excessive spam/meme, i.e. copious one liners in a short period of time, typing with all caps or posting meme responses (text/image).
  • No trolling, including but not limited to, flame incitation, user provocation or false information distribution.
  • No link spamming or signature advertisements for content not specific to Dota 2.
  • No Dota 2 key requests, sell, trade etc.
  • You may not create multiple accounts for any purpose, including ban evasion, unless expressly permitted by a moderator.

  • Please search before posting. One thread per issue. Do not create another thread if there is an existing one already.
  • Before posting anything, make sure you check out all sticky threads (e.g., this). Do not create new threads about closed ones.
  • It is extremely important that you post in correct forum section.

  • Balance discussion only in Misc.
  • All art related (such as hero model) feedbacks go to Art Feedback Forum.
  • All matchmaking feedback should go here: Matchmaking Feedback
  • All report/low priority issues should go here: Commend/Report/Ban Feedback
  • No specific workshop item feedback. These should go to workshop page of that item.
  • When posting in non-bugs section (such as this), use [Bugs], [Discussion] or [Suggestion] prefix in your thread name.



In case you object some action by a moderator, please contact him directly through PM and explain your concerns politely. If you are still unable to resolve the issue, contact an administrator. Do not drag these issues in public.



All rules are meant to augment common sense, please use them when not conflicted with aforementioned policies.
See more
See less

[Bug] Regarding Panorama's garbage collector and DOTA(Ability/Item)Image

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Bug] Regarding Panorama's garbage collector and DOTA(Ability/Item)Image

    So I noticed some stuff in my map, noticably lag spikes when selecting heroes and growing lag over time.

    I started by attempting to get the amount of time it takes to create a DOTAAbilityImage, but Game.Time() doesn't update without a threadblock. So, I decided to check memory.

    I took a slightly modified version of ui_example and it's item and ability bars to perform these tests. In these tests, I had a hero with 5 abilities (1 of them learned) and 6 iron branches. I had two units, this hero and a NPC (in this case a pre-spawned Dire Eidolon). Every data point is me changing selection. If i typed Hero - #G, that means I selected the hero (thus rebuilding the UI) and recorded the memory usage of dota2.exe. When I record NPC-, this means I selected the eidolon and recorded the memory usage.

    Test Data-

    NPC in all trials has no items or abilities
    Trial 1 - Hero, 6 items, skills disabled (data shows selecting X than getting process memory)
    Hero - 2.411G
    NPC - 2.414G
    Hero - 2.420G
    NPC - 2.423G
    Hero - 2.429G
    Average - NPC +3mB, Hero +6mB per selection

    Trial 2 - Hero, 5 skills, items disabled
    Hero - 2.438G
    NPC - 2.438G
    Hero - 2.443G
    NPC - 2.443G
    Hero - 2.447G
    NPC - 2.447G
    Hero - 2.452G
    Npc - 2.451G
    Hero - 2.455G
    Average - NPC n/c, Hero +4-5mB per selection

    Trial 3 - both items and abilities selected (6 items, 5 abilities on hero)
    (At this time, my PC is starting to run low on RAM so I have a feeling DotA is starting to scrap unneccesaries to make extra RAM)
    Hero - 2.424G
    NPC- 2.421G
    Hero - 2.428G
    NPC - 2.430G
    Hero - 2.437G
    NPC - 2.439G
    Hero - 2.446G
    At this point things started to get wierd. There was a ~3 second lag spike and than the memory usage dropped to about 2.35G. After this, further tests stopped yielding any change in memory so I assume at about 100mB the GC stepped in and started doing its job (valve, pay your garbage collector more than minimum wage )

    However, about 10 minutes after this, I tested again and noticed that the GC had seemingly been disabled. I ran more tests (without recording data) (boht items and abilities, NPC averaged +3mB and hero +7mB).

    The GC was disabled untill about 2.8gB, at which point there was no noticable change in-game but the memory usage stabilized at 2.8Gb

    I checked one minute after and it still kept steady at 2.8gB. However, I came back after about 2-3 minutes and the GC was disabled again. I got it up to 3.3gB, at which point my DotA went down to 0.3 frames per second and I had to kill it in task manager.




    I pose these questions about the results-


    Are these results repeatable by anyone else?

    UI_Example uses RemoveAndDeleteChildren. This is forced garbage collection. Why is this not taking effect immediately 100% of the time?

    In all tests, I noticed a sharp lag spike when selecting units, but this spike had no correlation to memory usage (wether it went down or stayed), it only varied based on wether i selected the unit or the hero and increased GREATLY as memory usage went up (went as bad as 2sec / selection at points). This bug is recorded here -> http://dev.dota2.com/showthread.php?t=173712 . Do the results in this trial regarding the GC have any noticable correlation to the issues discovered in these tests?

    E/ All of these tests were performed under the July 10th update, Windows 7 64-bit.
    Every time you have an issue, spend at least 5 minutes on each of these four sites Google, Wiki, Github, and ModDota
    If you still can't figure out your issue, post your issue on moddota in as much detail as possible with a SSCCE. If you do not complete these requirements, than you will be rejected by the community. Try not to contact individual users for help as we are very busy.

  • #2
    Good job!

    Comment


    • #3
      Bump -> Neither bug is fixed (leaks, lag spike) as of July 23
      Every time you have an issue, spend at least 5 minutes on each of these four sites Google, Wiki, Github, and ModDota
      If you still can't figure out your issue, post your issue on moddota in as much detail as possible with a SSCCE. If you do not complete these requirements, than you will be rejected by the community. Try not to contact individual users for help as we are very busy.

      Comment


      • #4
        Bumping again, I made a completely customized UI for my mod, but people are experiencing extreme lags due to this, some as bad as ~10 seconds where you can't do anything but wait. When this happens for the host, all of the clients will lag aswell.

        Comment


        • #5
          The Buffbar also suffers from this bug, except in a much, much larger magnitude. My framerate drops to ~2fps when i even have the buff bar enabled (with one buff) and it crashes after a few minutes.

          E/ I'm not seeing this effect in the sept 1st ptach but i havent tested ram or thel ikes
          Last edited by arhowk; 09-02-2015, 05:46 PM.
          Every time you have an issue, spend at least 5 minutes on each of these four sites Google, Wiki, Github, and ModDota
          If you still can't figure out your issue, post your issue on moddota in as much detail as possible with a SSCCE. If you do not complete these requirements, than you will be rejected by the community. Try not to contact individual users for help as we are very busy.

          Comment

          Working...
          X