Use separate Transaction object in SV
Currently, setAlpha was using mRtTransaction to send the SC transaction. However, that's also used by positionChanged. This could cause synchronization issues because both callbacks are invoked from a thread pool with no synchronization ensured. Instead, create a Transaction that's used just for FrameCallbacks. FrameCallbacks will all occur on the same thread so it's safe to use the same object. Additionally, created a separate transaction that should be used for positionChanged. This is because it's invoked from a thread pool can could interfere with the main render thread transactions. Finally, use the original mRtTransaction only for places that are called synchronously from renderThread. Test: Hard to repro original issue. Bubbles works Bug: 184559328 Change-Id: Ia5a36ad063c19e8a481a57170e47029f7c2c7ee7
Loading
Please register or sign in to comment