Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unloading files #41

Closed
BernierCR opened this issue Jan 6, 2016 · 4 comments
Closed

Unloading files #41

BernierCR opened this issue Jan 6, 2016 · 4 comments
Labels

Comments

@BernierCR
Copy link

I'm not sure the best way to unload a file. I only need one mmCIF file loaded at a time, at least in the near future. What code do I run as soon as I know I'm going to need a different file?

Also, when I accidentally loaded a second structure, WebGL crashed. I'm not sure if that is a bug or not. It may just be that my computer ran out of memory when trying to do that. I may experiment with loading multiple large structures another time and test the limits.

@arose arose added the question label Jan 7, 2016
@arose
Copy link
Collaborator

arose commented Jan 7, 2016

I'm not sure the best way to unload a file. I only need one mmCIF file loaded at a time, at least in the near future. What code do I run as soon as I know I'm going to need a different file?

stage.loadFile( "path" ).then( function( comp ){
  stage.removeComponent( comp );  // this removes the just loaded component
}

Also, when I accidentally loaded a second structure, WebGL crashed. I'm not sure if that is a bug or not. It may just be that my computer ran out of memory when trying to do that. I may experiment with loading multiple large structures another time and test the limits.

This should not happen, loading and displaying many structures is generally supported. Depending on how you load them a crash might be caused by the creation of too many WebWorkers. So, limit the number of files loaded in parallel or load them sequentially altogether. Here is how do it for the GUI using the async.js library:

async.eachLimit(
    e.dataTransfer.files,
    4,
    function( file, callback ){
        stage.loadFile( file, {
            defaultRepresentation: true
        } ).then( function(){ callback(); } );
    }
);

I happily consider handling that in the stage object. Would you mind opening a separate issue for it, so that we don't mix topics so much. Thanks!

@arose
Copy link
Collaborator

arose commented Feb 12, 2016

@BernierCR any news on this?

@BernierCR
Copy link
Author

Sorry, no news. I've been focused on my job hunt and other such things.
Someday I will just really feel like doing this instead of what I should be
doing. I wish I could figure out how to crowd fund myself. It's funny,
people will crowdfund the creation of videos about science, but they don't
crowdfund the actual science.

On Fri, Feb 12, 2016 at 12:56 AM, Alexander Rose notifications@github.com
wrote:

@BernierCR https://github.com/BernierCR any news on this?


Reply to this email directly or view it on GitHub
#41 (comment).

@arose
Copy link
Collaborator

arose commented Mar 1, 2016

Good luck! There is https://experiment.com/, haven't tried it though.

@arose arose closed this as completed Apr 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants