Попробуйте:
.bubble {
-webkit-transition: top 5s linear;
-webkit-transform: translate3d(0px, -200px, 0px);
}
По крайней мере, на iOS это будет аппаратно ускорено. Если вы хотите, чтобы это было немного более обратно совместимо, то:
.bubble {
-webkit-transition: top 5s linear;
-webkit-transform3d(0,0,0);
-webkit-transform: translate(0px, -200px);
}
Будет работать в браузерах без 3D-трансформации, но при этом будет ускоряться. Я бы проверил, что первый из них улучшает производительность, а затем проверил бы, что второй тоже работает, а не просто использует второй!