ImageIds from ViewportFrames

ViewportFrames are a great tool that save developers time when making inventories, as we do not need to manually screenshot, crop & upload images. However, as inventories collect many items, this requires a client to download and store more items with an increasing memory footprint as the models cannot be deleted.

This means that in order for a client to show an image of a model, they must also download the model. This becomes increasingly problematic for games with lots of items, or games that have high-partcount models like cars, houses, etc.


(Icons above had to be created in Photoshop, as realtime viewport frames would be too intensive)

How can this be improved?
Being able to render these on the server and then send an image id to clients would be a fantastic solution to this issue. This would also allow for player creations to be easily shared through thumbnails, rather than downloading entire models. This could be a special imageId that only works in that specific game, so it does not need to go through moderation.

Alternatively, if the server cannot perform a render, being able to dynamically create imageIds from studio using ViewportFrames would allow us to automate the process of creating images for items!

48 Likes

I decided to bump this up as I am in need of it, my game has 384 Viewport Frames which could all be replaced by images.

As it was mentioned:

I use ViewportFrames for the solely purpose of having images for every item. However, in my game there is a total of 384 items, and each one has its own image in the form of a ViewportFrame.

Since ViewportFrames requires objects to be under the ViewportFrame for this one to display an image, I am forced to keep a total of 4,236 instances in the game.


They could be easily deleted if ViewportFrames were to kind of save their image under the game if requested, like a property named Freeze, where you just delete the model, and the image remains.

Or like mentioned in this post, an special ImageId that the client will use to download the image displayed by a ViewportFrame contained under any part in the game (even in places like ServerStorage, meaning I could keep the 4.2k Instances and modify things in them).


I am the kind of developer that makes changes every now and then; I won’t be flooding my Roblox account with tons of useless images where if I don’t like how it looks one day I upload a new one. I want to be able to just go, update the ViewportFrame, and done.


:warning: :red_circle: Anyways, this 4.2k Instances are totally unnecessary to have as I don’t move the models around or anything like that. I use them as static images in the game and most importantly, they are cloned every now and then in the game and repeatedly. Is not like those viewport frames remain under the 384 cap.

When the game runs the UI gets set up and the ending result is:

  • 1,166 ViewportFrames In Total
  • 9,050 Instances In Total

If this issue were to be fixed I could have 0 Instances in total on the client instead of 9k.

Thank you. (And sorry for bumping this up)

7 Likes