taskGnash - The GNU Flash player - Tasks: task #5847, Memory profiling

 
 

You are not allowed to post comments on this tracker with your current authentification level.

task #5847: Memory profiling

Submitted by:  Markus Gothe <nihilus>
Submitted on:  Sat 26 Aug 2006 10:30:32 AM UTC  
 
Should Start On: Fri 25 Aug 2006 10:00:00 PM UTCShould be Finished on: Wed 13 Sep 2006 10:00:00 PM UTC
Category: NonePriority: 5 - Normal
Status: In ProgressPrivacy: Public
Percent Complete: 40%Assigned to: Markus Gothe <nihilus>
Open/Closed: OpenEffort: 0.00

Thu 23 Aug 2007 08:39:47 AM UTC, comment #4:

Any resource is either manual, RC or GC (no mix allowed).

It is likely possible to drop some RC in favor of more manual.

For definitions, many instances use them for their own services
so as long as an instance of that definition is alive we can't
drop the definition. Also, as long as the definition is instantiable (I think only if PlaceObject tags are available
pointing to it) we can't get rid of it. Usually, SWF generators
avoid to put anything in the dictionary if it's not used.

Theoretically, we could leave ownership of definitions to the
character's dictionary. Unfortunately there are execption, which
are again due to the design gap of renderers handling definitions instead of instances. The gap is that some instances have definitions which are not in a character dictionary (TextField and MovieClip created by AS, sprite_instance drawable, etc.)
For these we should analyze lifetime and find an appropriate owner. The RC model solves this discrepancy.

Sandro Santilli <strk>
Project Member
Thu 23 Aug 2007 08:26:45 AM UTC, comment #3:

>RC is still used for character definitions and other things.


Right. I don't mean to move definitions to GC. Is it a complex work to manage definiton resources by hand(explicit deletion)? I don't believe we can not live without smart pointers.

> I'd keep both for now, each managing its own stuff.

OK, but the current status is that boost::intrusive_ptr is absolutely over used. It's ugly there even it does nothing when GC is enabled.

We are going to drop RC for GC managed resources(in the source code level), right:)?

Zou Lunkai <zoulunkai>
Thu 23 Aug 2007 08:11:15 AM UTC, comment #2:

RC is still used for character definitions and other things.
The more things are under GC the more cost would mark&sweep have.
I'd keep both for now, each managing its own stuff.

Sandro Santilli <strk>
Project Member
Thu 23 Aug 2007 06:21:47 AM UTC, comment #1:

As for memory profile, RC model is terrible.
GC is much better in memory cost(not sure about speed).

BTW, are we going to drop RC? I can see no help to maintain two models. Gnash is already big enough...

Zou Lunkai <zoulunkai>
Sat 26 Aug 2006 10:30:32 AM UTC, original submission:

Profile for leaking / overuse of memory... Seem like gnash is a memory hog, eats 100MB whilst playing elvis.swf for me.

Markus Gothe <nihilus>
Project MemberIn charge of this item.

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by strk (Posted a comment)
  • -unavailable- added by zoulunkai (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 14 Sep 2006 03:19:27 PM UTCnihilusPercent Complete20%=>40%
    Thu 14 Sep 2006 03:19:14 PM UTCnihilusStatusNone=>In Progress
    Sat 26 Aug 2006 08:39:52 PM UTCnihilusPercent Complete0%=>20%

    Back to the top


    Powered by Savane 3.1-cleanup