Static mobile performance diagnostics for Godot 4 projects.
Project description
Godot Mobile Perf Doctor
Static mobile performance diagnostics for Godot 4 projects, with optional parsing of captured adb summary text.
The first release deliberately starts with static checks so it works in CI without an Android device.
Use it before device testing to catch obvious mobile risks: desktop renderer settings, missing stretch configuration, oversized textures, and suspicious viewport settings.
Install
python -m pip install -e .
From PyPI:
python -m pip install godot-mobile-perf-doctor
Quick Start
godot-mobile-perf-doctor C:\Projects\MyGame --static
godot-mobile-perf-doctor . --profile portrait-2d --format json --output perf-report.json
godot-mobile-perf-doctor . --adb-summary adb-summary.txt --format markdown --output mobile-perf-report.md
List the built-in mobile profiles:
godot-mobile-perf-doctor --list-profiles
Config File
Create .godot-mobile-perf-doctor.toml in the project root:
profile = "portrait-2d"
format = "markdown"
fail_on = "warning"
output = "reports/mobile-perf.md"
max_texture_dimension = 2048
max_viewport_pixels = 2073600
Profiles provide default texture and viewport budgets. CLI flags override config values, and config values override profile defaults:
godot-mobile-perf-doctor . --static --max-viewport-pixels 921600 --format json
Built-in profiles:
| Profile | Use When |
|---|---|
portrait-2d |
Phone-first 2D projects with a portrait-oriented base viewport. |
balanced-mobile |
General mobile projects that can tolerate a 1080p-style base viewport. |
low-end-mobile |
Older Android devices or battery-sensitive builds need stricter budgets. |
tablet-2d |
Larger-screen 2D projects intentionally use a bigger base viewport. |
Real Workflow: Prepare An Android Test Build
Run a static mobile scan before sending a build to a phone:
godot-mobile-perf-doctor . --static --profile portrait-2d --fail-on warning --format markdown --output reports\mobile-perf.md
Use the report to check:
- whether the renderer choice is suitable for mobile;
- whether viewport and stretch settings are explicit;
- which PNG textures carry the largest estimated RGBA memory cost;
- whether a recent adb summary shows janky frames that need follow-up.
If you already captured a short device run, attach the summary:
godot-mobile-perf-doctor . --adb-summary reports\adb-summary.txt --format json --output reports\mobile-perf.json
What It Checks
- Renderer setting and mobile risk.
- Base viewport size against the selected mobile profile.
- Stretch mode presence.
- PNG texture dimensions and estimated RGBA memory.
- Optional adb summary text for device model and janky frame counts.
JSON reports include report metadata, active budget limits, and a rules object
with plain-language explanations. Text, Markdown, and SARIF output use the same
rule titles so local and CI reports are easier to compare.
Documentation
- Static checks
- Configuration
- Renderer guidance
- Texture guidance
- ADB summaries
- Rule reference
- CI usage
CI Example
- run: python -m pip install godot-mobile-perf-doctor
- run: godot-mobile-perf-doctor . --static --profile portrait-2d --format markdown --output reports/mobile-perf.md
Development
python -m pip install -e .
python -m unittest discover -s tests -v
godot-mobile-perf-doctor examples\tiny-godot-project --static --fail-on none
Examples are generic and safe to publish.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file godot_mobile_perf_doctor-0.1.6.tar.gz.
File metadata
- Download URL: godot_mobile_perf_doctor-0.1.6.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e36595a7b0386ba2a7ec9d2fc98f9fdda92c54ef8f01e4102bd5e643d548e4e0
|
|
| MD5 |
7affab6f755135e1db28d38a846f145a
|
|
| BLAKE2b-256 |
8eb12e15841cef7c3178fe66061fb0ac5ebf8be5e44f130ada3ea42e18537808
|
Provenance
The following attestation bundles were made for godot_mobile_perf_doctor-0.1.6.tar.gz:
Publisher:
publish-mobile-perf-doctor.yml on NonniGB/godot-production-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
godot_mobile_perf_doctor-0.1.6.tar.gz -
Subject digest:
e36595a7b0386ba2a7ec9d2fc98f9fdda92c54ef8f01e4102bd5e643d548e4e0 - Sigstore transparency entry: 1768019054
- Sigstore integration time:
-
Permalink:
NonniGB/godot-production-toolkit@0ef8ef58a218e2b8e166cfec6f8419d2a040efa0 -
Branch / Tag:
refs/tags/godot-mobile-perf-doctor-v0.1.6 - Owner: https://github.com/NonniGB
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-mobile-perf-doctor.yml@0ef8ef58a218e2b8e166cfec6f8419d2a040efa0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file godot_mobile_perf_doctor-0.1.6-py3-none-any.whl.
File metadata
- Download URL: godot_mobile_perf_doctor-0.1.6-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d30e218bd41565984286613825a0bf6307ed124f34fde3298fa9437010a9d97d
|
|
| MD5 |
d8d02fda5c3e44c0845194a12f7bc80d
|
|
| BLAKE2b-256 |
ddb4c59695c70a4644f9c636e9b34e70166870f43186d313468b074563c537d8
|
Provenance
The following attestation bundles were made for godot_mobile_perf_doctor-0.1.6-py3-none-any.whl:
Publisher:
publish-mobile-perf-doctor.yml on NonniGB/godot-production-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
godot_mobile_perf_doctor-0.1.6-py3-none-any.whl -
Subject digest:
d30e218bd41565984286613825a0bf6307ed124f34fde3298fa9437010a9d97d - Sigstore transparency entry: 1768019165
- Sigstore integration time:
-
Permalink:
NonniGB/godot-production-toolkit@0ef8ef58a218e2b8e166cfec6f8419d2a040efa0 -
Branch / Tag:
refs/tags/godot-mobile-perf-doctor-v0.1.6 - Owner: https://github.com/NonniGB
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-mobile-perf-doctor.yml@0ef8ef58a218e2b8e166cfec6f8419d2a040efa0 -
Trigger Event:
push
-
Statement type: