-
-
Notifications
You must be signed in to change notification settings - Fork 21.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mesh with skeleton and animation crashes on Android (PowerVR) #93406
Comments
what is your Android device? What GPU? |
@Zireael07 this is what i found on the internet |
This reminds me of #90459 which we traced to a specific Adreno driver bug. Maybe the GE8320 has a similar bug. |
I'd like to mention that the animation works fine in the editor when i play it before ever running the program. In a rare case i got the program to run. but if I try to run it again it crashes.If close godot and try to open the project again it kicks me back out of godot. If i delete ".godot" i can play the animation player in the editor again |
I'd like to add that I tested the same animated glb on |
this might be similar/duplicate of issue #89011 |
My game crashs too, but it doesn't crash the first time I open the app. If i clear the app data it won't crash, if i close the app and reopen then it crashs |
this has only happened to me with the skeleton3d node, if I deactivate the node, the game doesn't crash, i have also noticed that the loading time increases a lot with the node active |
@b3ll-4rt your specs? do you have a powerVR gpu as well? |
|
hi, i have test a scene with the new version 4.3 beta3 and the error/crash is still present |
@b3ll-4rt please write your device gpu as it may help with debugging the issue |
maybe usefull for you GdScript - System-Infofunc _ready():
# Labels
$video_adapter_api_version.text = RenderingServer.get_video_adapter_api_version()
$video_adapter_info.text = RenderingServer.get_video_adapter_vendor() + ", " + RenderingServer.get_video_adapter_name()
$os_info.text = OS.get_name() + ", " + OS.get_model_name()
print("video_adapter_api_version: ", RenderingServer.get_video_adapter_api_version())
print("video_adapter_name: ", RenderingServer.get_video_adapter_name())
print("video_adapter_type: ", RenderingServer.get_video_adapter_type())
print("video_adapter_vendor: ", RenderingServer.get_video_adapter_vendor())
print("video_adapter_driver_info: ", OS.get_video_adapter_driver_info())
print("OS.model_name: ", OS.get_model_name())
print("OS.name:", OS.get_name())
print("OS.processor_name: ", OS.get_processor_name())
print("OS.get_video_adapter_driver_info: ", OS.get_video_adapter_driver_info())
# example: OpenGL ES (Compatibility) on Adreno 650
# ============================================================
#video_adapter_api_version: OpenGL ES 3.2 V@0502.0 (GIT@193b2ee, I593c16c433, 1633593732) (Date:10/07/21)
#video_adapter_name: Adreno (TM) 650
#video_adapter_type: 0
#video_adapter_vendor: Qualcomm
#video_adapter_driver_info: []
#OS.model_name: SM-T870
#OS.name:Android
#OS.processor_name:
#OS.get_video_adapter_driver_info: []
# ------------------------------------------------------------
# Vulkan
# ============================================================
#video_adapter_api_version: 1.1.128
#video_adapter_name: Adreno (TM) 650
#video_adapter_type: 1
#video_adapter_vendor: Qualcomm
#video_adapter_driver_info: []
#OS.model_name: SM-T870
#OS.name:Android
#OS.processor_name:
#OS.get_video_adapter_driver_info: [] if
Vulkan: Realme RMX2189, OpenGL ES: RMX2189 |
Got the same issue here as well, my device is an Oppo a57s running Android 12 which has the Imagination Technologies - PowerVR Rogue GE8320 GPU. As others have mentioned as well, on a first launch it works fine and the character renders as expected but any subsequent launches instantly crash the game. Here's the full log from adb logcat, I didn't use any filters and I cutout the parts before I started the test game to reduce noise but keep as much data in there as possible: In 4.2.2 the game wouldn't quite crash, it would simply freeze with a black screen and be very difficult to close on device, now in 4.3.rc1 it straight up crashes and this is the main crash log that's part of the attached log file:
|
charactertest.zip |
Currently debugging this issue and found the offending line at least, https://github.com/godotengine/godot/blob/master/drivers/gles3/storage/mesh_storage.cpp#L1235 this is where the crash happens for me. Already checked and the So far I've not been able to find a clear cause plus I can't seem to print a stacktrace to see the entire chain of method calls. Seems this was only added in c++23 and Godot still uses c++17 |
@MileyHollenberg maybe chatting with the people on chat.godotengine.org will be more helpful. |
Ah good call, will have a look |
#94835 Here's the PR which fixes this issue |
Hopefully it'll fix mine issue too 🤞 |
https://github.com/shahriarlabib000/godot_robot_crash_project On Firebase Redmi 6A, activated for autoplay and loop Video: PowerVR Rogue GE8320In the video it looks like the animation is not playing correctly. However, this could also be due to the hardware or Firebase itself. web-build_20240730_ekvf_cactus-27-en_US-landscape_video.mp4Video: better on F-01L Fujitsu, `Adreno (TM) 506`web-build_20240730_ekvf_F01L-27-en_US-landscape_video.mp4Maybe |
I'll have a quick look on my device here |
Most likely the Firebase device or how they record the screen, runs at around 30FPS here which is very low for just 1 model but it looks way less choppy than that video. My Samsung Galaxy A54 runs it at a perfect 120FPS. For reference, my entire game, with lighting and shadows and such, runs at ~37FPS and has both 3D models and UI plus the game loop itself, so this model and animation is somehow quite heavy (though my game only has Tween animations and no actual character meshes, they're all static meshes exported in the desired pose as I didn't know how to fix the bug when I first started on this game :P ) |
Yeah 100% the model and environment setup. Just downloaded an animation from Mixamo with their Y Bot character and that's running at 60FPS with ease in a separate project |
Did you try the MRP? It was heavy? |
I just tried the one Alex posted |
Hmm the MRP robo model gets 37 fps in 4.2.2 after i export it as apk without shader cache. |
I think that is expected with such a low end device. We need to implement CPU skinning (which is what we use for GLES2 in 3.6) to get comparable speed. |
Tested versions
System information
Android 11 - Godot V.4.3.beta2-compatibility renderer
Issue description
so i have a glb file which has a character with a skeleton and some animation.
when i try to run the scene godot crashes
Steps to reproduce
so have a file with some skeleton and animation. add a camera . run the program
Minimal reproduction project (MRP)
https://github.com/shahriarlabib000/godot_robot_crash_projectgodot_robot_crash_project-main.zip
The text was updated successfully, but these errors were encountered: