There are a lot of settings on the KTX2 encoder, could you share exactly what settings you’re using? Ideally if you can share the model or textures that also helps so we don’t have to guess. And what types of textures do you have? Base color, normal maps, anything else?
There’s a guide here that might help choose the right settings:
The dimensions on these textures are already powers of two. But if you needed to do that there’s a --power-of-two flag on the tool you can use. Full help printout with:
gltf-transform uastc --help
It’s important to understand than PNG is a lossless compression format. Basis UASTC or ETC1S are lossy and will probably add some visible loss to the image, it’s a balance of getting a visual result that looks good enough, while also reducing memory and performance cost enough that you can use more textures and/or get better performance with the textures you have.
I don’t know whether the settings of the UASTC encoder will improve this particular image or not, you may have to play around with that, or perhaps others can answer. One thing I did notice is that some of the UVs are not parallel, like the slanted rectangle on the left-hand side here:
Because KTX2 (and all GPU compatible texture formats) use block-based compression, things will probably look better if you can keep horizontal and vertical lines aligned with the UVs. You can see more noise in the compressed image in those areas. There’s a lot of empty space in the UV layouts too, which could be used to increase UV resolution assigned to surfaces, without increasing texture resolution.
Other than that, it’s OK to increase resolution a bit if needed, your total memory may still be smaller.
Finally, if this is your whole scene and it only uses 25 MB of memory… I wouldn’t feel too bad about that. If you don’t have a performance problem, then it may be fine as-is?