From cffb4b24005f457113b0a1326e2d1cc161fe8aca Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Sat, 11 Apr 2026 16:13:45 +0200 Subject: [PATCH] Make J2DPictureEx not draw if zero alpha Reduces the amount of draw calls from inactive UI elements by a lot. --- libs/JSystem/src/J2DGraph/J2DPictureEx.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libs/JSystem/src/J2DGraph/J2DPictureEx.cpp b/libs/JSystem/src/J2DGraph/J2DPictureEx.cpp index 62925c4a98..ba69048a4b 100644 --- a/libs/JSystem/src/J2DGraph/J2DPictureEx.cpp +++ b/libs/JSystem/src/J2DGraph/J2DPictureEx.cpp @@ -78,9 +78,21 @@ bool J2DPictureEx::prepareTexture(u8 param_0) { return true; } +#if TARGET_PC +bool checkAlphaCull(const J2DPictureEx* pic) { + return pic->mColorAlpha == 0; +} +#endif + void J2DPictureEx::drawSelf(f32 param_0, f32 param_1, f32 (*param_2)[3][4]) { GX_AND_TRACY_SCOPED("J2DPictureEx::drawSelf") if (mMaterial != NULL) { +#if TARGET_PC + if (checkAlphaCull(this)) { + return; + } +#endif + mMaterial->setGX(); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT);