Throttle low priority RS threads by sleeping once per frame to avoid starving other apps.
diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h
index 4e0f653..1770ee6 100644
--- a/libs/rs/rsContext.h
+++ b/libs/rs/rsContext.h
@@ -105,7 +105,7 @@
uint32_t getMessageToClient(void *data, size_t *receiveLen, size_t bufferLen, bool wait);
bool sendMessageToClient(void *data, uint32_t cmdID, size_t len, bool waitForSpace);
- bool runScript(Script *s, uint32_t launchID);
+ uint32_t runScript(Script *s, uint32_t launchID);
void initToClient();
void deinitToClient();
@@ -194,6 +194,7 @@
uint32_t mWidth;
uint32_t mHeight;
+ int32_t mThreadPriority;
bool mRunning;
bool mExit;
@@ -226,7 +227,7 @@
void initEGL();
void deinitEGL();
- bool runRootScript();
+ uint32_t runRootScript();
static void * threadProc(void *);
@@ -241,6 +242,9 @@
uint64_t mTimeLast;
uint64_t mTimeFrame;
uint64_t mTimeLastFrame;
+ uint32_t mTimeMSLastFrame;
+ uint32_t mTimeMSLastScript;
+ uint32_t mTimeMSLastSwap;
};
}