Hi !
JLNR will answer a lot better than me but :
- I guess that because Gosu uses OpenGL for display, the smaller the texture is, the better it should be because drawing twice bigger shouldn't be an issue in OpenGL and Gosu will have a smaller texture to load.
- for a menu that configurates the display, the only issue I can think of is that width and height are read-only variables that could not be changed after the Gosu::Window is initialized. So you'll have to create a new instance of Gosu::Window when you change for example the resolution.
But again, I'll let the master of the lib talk :)
By jlnr (dev)
Date 2016-03-16 23:14
Welcome, glad you're enjoying Gosu!
Both options should perform exactly the same in terms of speed, but 2) will use less video memory. Thanks to bestguigui for the explanation :)
The rule of thumb with Ruby/Gosu is that the bottleneck is usually Ruby itself, not the rendering in OpenGL/Gosu. If you add lots of code to handle scaling factors based on the user's display quality settings, you might end up making the game slower for everyone because of all the calculations that happen in Ruby. AI and collision detection, for example, are easily more expensive than rendering in a typical Ruby/Gosu game.