diff options
| author | 2009-09-24 14:55:38 -0700 | |
|---|---|---|
| committer | 2009-09-24 14:55:38 -0700 | |
| commit | e60446b9c1a0f4f48372a36de5b01a2ddb8121e3 (patch) | |
| tree | 8d9d7807a3aa295e2445095ab646a611711f7b72 /libs/rs/rsScriptC.cpp | |
| parent | b6f2b131c42e5148b07c7cfe22b8bd5bc5b4ad4b (diff) | |
Fix invokables to make sure script pointers are setup before invoking function calls. Reduce app startup time up to 1s.
Diffstat (limited to 'libs/rs/rsScriptC.cpp')
| -rw-r--r-- | libs/rs/rsScriptC.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp index 108ae5a911c6..bff337c0b90d 100644 --- a/libs/rs/rsScriptC.cpp +++ b/libs/rs/rsScriptC.cpp @@ -46,6 +46,15 @@ ScriptC::~ScriptC() } } +void ScriptC::setupScript() +{ + for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) { + if (mProgram.mSlotPointers[ct]) { + *mProgram.mSlotPointers[ct] = mSlots[ct]->getPtr(); + } + } +} + bool ScriptC::run(Context *rsc, uint32_t launchIndex) { @@ -66,12 +75,7 @@ bool ScriptC::run(Context *rsc, uint32_t launchIndex) mEnviroment.mStartTimeMillis = nanoseconds_to_milliseconds(systemTime(SYSTEM_TIME_MONOTONIC)); } - - for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) { - if (mProgram.mSlotPointers[ct]) { - *mProgram.mSlotPointers[ct] = mSlots[ct]->getPtr(); - } - } + setupScript(); bool ret = false; tls->mScript = this; |