Coder Social home page Coder Social logo

bblanimation / background-processing Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 2.0 151 KB

Send taxing Blender operations to the background with subprocess

License: GNU General Public License v3.0

Python 100.00%
addon blender blender-addon blender-plugin blender-processes blender-python blender-scripts blender3d bpy bpython python3

background-processing's Introduction

background-processing's People

Contributors

bblanimation avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

background-processing's Issues

system safe paths

generate all paths in a system generic way
-Source Blend
-Storage Blend
-Job .py

temp_path on windows.

Hi,

I am using Windows 10 and bricker. I am seeing self.temp_path as c:\tmp\background_processing. However, this path is not always accessible because the root of C:\ may be restricted for some users.

Please consider using: tempfile.gettempdir() to get a windows compatible temporary path.

Thank you.

error if space in path to blender.exe

had blender in a subfolder of "blender versions" and bg would give error that the path did not exist because it appeared to split the filepath string at the space

Timeout at job level

Describe the solution you'd like
Instead of the JobManager having a timeout, specify timeout at the Job level

Describe alternatives you've considered
Current implementation

Timers not specific

If multiple background processes (eg, Op-A and Op-B) timer events are non-secific so Op-A will see Op-B's timer events and vice versa, causing double rate of checking if jon-done. Furthermore if additional modal operators, Timer events also get picked up by existing BGP (background processing) modals. AddJob exampe needs a time_delta to prevent checking too often. Not sure this has any real impact on performance.

Prototype BG Process Panel

A panel that displays a list of all jobs, name, progress [TODO progress varibale], ability to cancel the individual time, current time taken etc.

Status/Perecnt Complete/Progress Reporting

Is there an easy way to incorporate a status/progress bar variable in background scripts. I'm picturing in the same way the data_blocks object is looked for.

It's up to the bg_script to define how pct_complete/progress is calculated.

Limit output file to just objects needed

Problem
For some reason, we get Exception, Access Violation (or something like that) when using the append_form method when trying not to duplicate the entire file.

Proposed Solution
Can we write out a library file on the "sending side" instead of trying to link from/append from* on the background Blender. Perhaps there is a different way to send "only the assets we need" to each background task.

Additional context
The next project I will be building personally will be HEAVILY leveraging background tasks. Eg loading 10 to 20 assets of 20 to 40MB each, and sending each one for some processing. So we don't want to duplicate all 20 assets in the duplicate file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.