• Hey! Guest! The 39th GMC Jam will take place between November 26th, 12:00 UTC and November 30th, 12:00 UTC. Why not join in! Click here to find out more!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Question - IDE Honest Question: Did Studio 2 speed up tile rendering?

TheouAegis

Member
No rants, just an honest question. I d/led the beta to play with it. Installed it, haven't messed with it much yet. D/led the platform demo, haven't really looked at it yet. All in good time. The only reason I'm even interested in GM2 is for the tilemap functions, but the nagging question that I haven't even tested yet because I haven't dabbled with the program yet is

Are tiles rendered faster than draw_background_part() in Studio 2 unlike in all the other versions of Game Maker?

Sprites were optimized in Studio 1 but tiles weren't. So have tiles finally been optimized in Studio 2 where they're rendered as quickly as sprites now?
 

GMWolf

aka fel666
Yes.
Tiles in GMS2 are stupidly fast! virtually free.
I dont have any hard numbers to back it up, but i cant imagine anyone running into performance problems when drawing tilemaps.
Not only that, but the logic you can do with them is also very fast. So tile collisions end up lighting fast as well.

Tiles in studio 1 where not really tiles, more like spashed-sprites. A mess.
Tiles in Studio 2 are actual tiles. As is a grid of graphical information.
 

TheouAegis

Member
Glad to hear. If someone has anything to counter with, I wouldn't mind hearing any bad news about it. In the mean time, I'll start messing around with Studio 2's mechanics sometime soon.
 
A

anomalous

Guest
Well, to be fair, the GMS1.4 room editor was so bad, coupled with being unable to put large levels worth of tiles in a single room regardless of rendering, most people that had a serious tile based project wrote their own room editor and tile formats . So those folks end up with a ds_grid for each depth layer, making them quite fast, being able to manage via "layer", doing grid collisions, and adding/removing tiles from view, resulting in entirely acceptable FPS and fast collision and operations. Basically doing what they did in GMS2 but since its their own editor, it can be customized to the nth (and take forever to develop!)
I never saw any bottlenecks with tile rendering, with thousands of tiles on screen at 1920x1200 using 64 pixel tiles, my limitations were always related to the raw tile overhead (non rendering), and the room editor.

GMS2 dramatically changed tiles, the room editor, and the addition of layers. Obviously its much faster development-wise to use GMS2 out of the box than to use GMS1.4 and roll your own room editor, but it depends on complexity if that will do it for you. I suspect for most it will be workable, so it will likely save a huge chunk of dev time for those folks. Some things do not appear to be possible currently, maybe that's Beta or maybe its not documented or I'm unaware (alpha, depth-y). Each tilemap is tied to a single tileset, and then a single depth, this can be a change from GMS1.4. I imagine that was all done for optimization.

You will probably personally appreciate the way they did the tile maps. They use the smallest footprint they reasonably can based on the number of tiles in your tileset, and let you have access to all the other bits above it. So even in the manual they recommend using bit shifting to stuff your additional tile data (collision, line of sight, hazards, movement type, movement cost) into that same layer.

Big things GMS2 tile related can do that GMS1.4 cannot from my using it:
fill a large room (16K x 16x) with tiles, and it will run good FPS (!).
room editor has auto tiles, tile animation (power of 2), brushes, and a few other bells. Still lacks more full featured set (random tiles, opening up the room file format, real macro/script based editing, etc.)
If going for small footprint, you can use the tile layer for most things you would have needed to create a ds_grid for in GMS1.4

It will take a while to get use to the IDE, i feels clunky at first but that's because most of us try to use GMS2 like GMS1.4. It has an entirely different "code window" access design, and its really pretty flexible (undock, dock, maximize, tabs, double click, all add functionality). But it fixes the macro clunkiness, has a dedicated "Cleanup event", has better highlighting, and a host of other improvements.
Currently it won't even load as of this morning for me..but it's beta I suppose..
 
Top