GPU particles cause game freezing in some android devices

Godot Version

Godot 4.3

Question

In my android game, I have a gpu particles effect which I keep not visible (visible=false) until its effect takes place and I set its visibility to true. In some devices, whenever the gpu particles effect visibility is set to true, the screen freezes, but the game continues to play e.g. the sound continues to play and you can hear the sounds of the game progression. If I omit the visibility change to true in my code, the game doesn’t freeze.

The logcat of an android device that is affected by the problem shows the following at the time of the screen freezing problem:

I understand that the problem has to do with vulkan renderer. I don’t want to fall to compatibility renderer because when I tried, the game’s performance e.g. FPS, dropped significantly.

What is more striking to me in the log is the error “dequeueBuffer: attempting to exceed the max dequeued buffer count (2)”

Is there something I can do?

Looks like there’s a bug in the GPU drivers or in the engine.

Try to upgrade to 4.4.1 and see if it’s reproducible there too. If that’s the case then your best option is to open a new issue in the issue tracker GitHub · Where software is built if there isn’t already one opened with the same problem and attaching as many information you can gather as possible ideally with a MRP (minimum reproduction project) attached to make it easier to test and debug.

I think I managed to find the source of the problem and probably the solution. I had set Fixed FPS to 60 FPS in the GPU Particle’s Time Properties. I lowered it to 30 and now it is not freezing the game, at least in my device with the problem. I also disabled the physics interpolation for the GPU Particle node.

I’ll send to others with the problem and if they confirm it is not freezing, I will post the Fixed FPS adjustment as the solution.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.