I’m going to go out and disagree with all of you. Please never use JPEG for anything outside of a few very limited use cases.
Does this look clean and sharp to you?
Due to the way that JPEG (lossily) compresses textures, you will lose tons of high frequency data, colour accuracy is not preserved, your textures will become fuzzy and blurry in many cases. It saves memory by degrading the quality of your textures, and outside of limited use cases it just isn’t all that great.
Remember that PNG is still a highly portable image format. It supports transparency and still does a great job of keeping your images small without losing details. There are so many times where you should use PNG over JPEG that I recommend just not using JPEG unless you’re absolutely certain you can take the hit from the degraded quality.
Pretty sure Roblox recently added auto compression for low end devices, which probably already goes part way to solving your problems.
Here’s some tips on how you can optimise your image memory usage without murdering your image quality:
Just don’t use as many images. Prefer part materials to textures, and see if you can simplify any image intensive UI.
Failing that, why not use smaller image sizes for smaller things? Size your images according to how large you expect them to be displayed. Showing a small icon in the player list? Don’t make it 512x512, why not 32x32? Just an example.
Done both of those? Try some compression tools. I’ve never had to do this since I carefully select how I use images in my work, so I can’t guarantee if they even work, but it’s worth a shot.
Exhausted all that, and your image:
- does not have any transparency
- does not need colour accuracy
- does not have any small details or sharp contrasting sections
- is not flat, low poly or cartoonish
- is not going to be displayed large on screen
then maybe think about using JPEG.
tl;dr just cut your losses, use PNG (edit: except for small things people won’t notice), and be smart about how you’re using images.