Game Engine temporarily freezes when object hits active geometry (ocean and the like)

I have a plane that adds splash objects. When I drop an object with complicated geometry ( in my case an apple) into the plane, it will add the splash, but the game engine will freeze for a second when the object makes collision and then continue on as if nothing has happened. Sounds play, but the visuals freeze. Can this freeze be avoided? My plane object has two modifiers - an ocean modifier and a Dynamic Paint modifier, all scripted to animate and work in the Game Engine.

It puzzles me how the player in UPBGE freezes for just a moment when a heavily subdivided object strikes another one that has moving vertices. This I recall, happened in 2.79b as well.

I tried to unsubdivide the apple using the Decimate modifier and applying it, no luck. Tried to unsubdivide the water, no luck either, just adds to the vertex count, lowering performance. I’m baffled! Isn’t unsubdivide supposed to lower the vertex count, not raise it?

Decimate does unsubdivide on objects without the ocean modifier, but with the modifier, it just raises the vertex count. How bizarre!

on you apple object go to the physic tab and change collision bounds to something simple like sphere or box

I tried that, still same result. It must be the way UPBGE tries to calculate physics, and with moving geometry like waves, the game engine freezes trying to calculate, hence why you hear sound but see a frozen game for 1 second before everything goes as new. It’s what happens if you destroy a lot of objects in a game and then add a lot of spark particles - performance will slow down momentarily to accomodate the spike in CPU power needed.

if that gives the same result then the problem is not the apple.