taskReindeer - Tasks: task #10264, DataBlock automatic data...

 
 

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

task #10264: DataBlock automatic data unload/reload

Submitted by:  Patrik Olsson <peo>
Submitted on:  Sat Mar 13 20:01:53 2010  
 
Should Start On: Fri Mar 12 23:00:00 2010Should be Finished on: Fri Mar 12 23:00:00 2010
Category: libreindeerPriority: 3 - Low
Status: NonePrivacy: Public
Percent Complete: 0%Assigned to: None
Open/Closed: OpenPlanned Release: None
Effort: 0.00

Sat Mar 13 20:01:53 2010, original submission:

It would be nice if DataBlock would unload the data if it is not actively used. For example, OpenGL copies the data to a texture object or buffer object and then does not touch it anymore.

The application would have to register a callback that would reload the data on demand. Registering the callback would activate the feature for a DataBlock instance.

To implement this, there should be a data_ref field in DataBlock. Reindeer modules should use _begin_use when they are actively using the data, and _end_use when they are not anymore. The field data_ref is set to 1 at initialization to avoid repeatedly unload/reload each time a module wants the data only temporarily. The application should do _end_use when they believe it is okay. This is usually after one or a few frames when the data block has been used by all Reindeer contexts that need it.

Applications should only write data in the reload callback, and it must be the exact same data as previously (undefined behavior otherwise). The DataBlock becomes immutable. The reload callback gives the data pointer, the block size and user data (specified on registering the callback).

The use of the feature is only recommended when the data can be relatively quickly reloaded, or where it is known that it is unlikely to be reloaded anyway.

Patrik Olsson <peo>
Project Administrator

 

No files currently attached

 

Depends on the following items

Digest:
   task dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by peo (Submitted the item)
  •  

    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
    Sat Mar 13 20:37:21 2010peoShould Start On-=>Fri Mar 12 23:00:00 2010
      Should be Finished on-=>Fri Mar 12 23:00:00 2010
      Dependencies-=>Depends on task #10265

    Back to the top


    Powered by Savane 3.1-cleanup