GPU isn’t the only factor when it comes to system performance - RAM, CPU, optimization and total system temps are also a major factor in how well your system performs, don’t expect great performance if you’re gonna pair a 4090 with a Pentium 2.
@OP:
I’m pretty sure this isn’t compression but rather how the texture is displayed; iirc most textures are displayed with bilinear filtering, ImageLabels can display textures with nearest neighbor instead if the ResampleMode property is set to Pixelated (but this obviously only works for flat surfaces and guis).
I think you should instead focus on suggesting that the property get added to the rest of the image instances (aka; Texture and Decal) or supporting an existing thread for it.
I know that, but it still doesn’t seem to be the case for me. I can run most RTX games at upwards of 30 fps. I feel I should have way more fps in Roblox.
A Roblox engineer addressed this question in the past iirc, the rendering pipeline between UI elements (such as ImageLabels, etc.) and mesh textures, decals, etc are simply too different for the same code to work on both of them.
Bumping this thread. This is an absolutely essential feature for a game engine that is missing from Roblox. I have to jump through hoops to get this art style working in Roblox.
I’ve seen many posts/comments calling this compression, but this is not the case. This is a filter being applied to the texture, and there needs to be a way to disable said filter.
As you can see the texture is an absolute mess, and is bleeding horribly. A “solution” would be to upscale the texture to an unreasonable size, such as 1024x1024.
This is significantly less performant and increases load times. The textures are still bleeding as well.
There is already a way to disable this filter for UI instances such as image labels. Here is an example from my 2D Roblox game.
Implementing this property to objects such as SurfaceAppearances would open the door to a whole new art style on Roblox, and would would reduce the unhealthy behavior of upscaling textures as a band-aid fix.
It’s been 2 months, so I’m gonna try bumping this thread again.
The addition of a toggle to disable bilinear filtering on textures in the 3D worldspace is an essential feature for a game engine, and is absent from Roblox. The following is an example of a roadblock I’m running into right now. Having to resort to SurfaceGuis on every surface is completely tanking my project’s performance.
A large scale project of this art style in the current state of studio is almost completely impossible at this point. I’m desperately bumping this thread in hope of change.
I can agree with maple on this fact, and what he’s doing is manually changing the texture size to such absurb resolutions which allows for pixelated textures, but this manual fix is very taxing on roblox, so having an option to turn off this bilinear filtering would allow him to make these changes with a button instead of manually by hand which takes more time and computer resources.
Gonna bump this again. Currently making a 3d pixel art retro shooter game and I just found out about this issue, I’ve made a lot of progress on my game, and I’m considering just scrapping it all because resampling mode still does not exist for mesh parts, textures, or surface appearances, etc… (Me and my 3d artist were shocked when we learned about this).
^ The only other method to avoid this that is currently present is:
Yay! No texture bleeding… but at what cost you may ask?
Bumping this once more. A feature like this would make it significantly easier to make pixel art style games on roblox. Like many visual effects right now, it just boils down to doing a hacky workaround to trick the engine into doing what you want (usually with a hefty performance sacrifice). Also, it would mean I wouldn’t have to upscale my textures to the maximum resolution to get them to not render blurry such that they take up roblox’s resources and lead to a good amount of memory bloat and longer load times.
Another Bump. We really need this roblox. Not only for GUIs, but any Instance that uses an ImageID or DecalID. Having to use workarounds that tank performance greatly isnt a good thing, and not all developers want to make realistic experiences. Sometimes simplicity is best, especially for small studios or solo developers.
The fact that this feature hasn’t been implemented on all the other Instances that support images is mind-boggling. One simple feature can optimize so many games as loading big images that simulate pixels really take a toll on memory. SurfaceGuis are very inefficient and clip into eachother.
This has already been a feature request since like 2017 I believe if it isn’t earlier.
Roblox by default uses Linear texture filtering if I’m not mistaken which basically views all pixels as infinitely small points and draws smooth color gradients between each point.
The downside to this is that low-res images look HORRIBLY blurry and you may start noticing a very obvious “star” or “diamond” pattern.
We desperately need more texture filter options, most notably Nearest neighbor or Closest.
This basically displays textures with “no interpolation” so you get those sharp and crisp, square-shaped pixels.
Roblox, kindly, with all love, please make this a thing already.
Just as a temporary fix for all you people out there who want pixelated textures.
In MOST cases, uploading a say… 128 x 128 pixel texture upscaled to 256 x 256 in PaintDotNet gives decent results.
You get some pixel bleeding but it is only visible from up close in most cases.