Попробуйте позвонить requestRender () из вашего GLSurfaceView.
Очевидно, это лучше всего работает при установке режима рендеринга на «RENDERMODE_WHEN_DIRTY».
А это значит, что вы не будете выполнять рендеринг непрерывно, так что это может помешать «постоянному» рендерингу, необходимому для ваших эффектов.
Я думаю, что лучшим решением было бы разделить рендеринг между 2 поверхностями наложения и 2 рендерами. Запросите нижнюю поверхность (поверхность пальцевой краски) для визуализации фрейма при каждом взаимодействии пользователя, а на верхней (поверхность gfx) вы рендерите непрерывно. Или поменяйте местами ... все, что работает лучше.