[XP] Custom Resolution

Started by ForeverZer0, November 25, 2010, 03:28:40 am

Previous topic - Next topic

Ryex

Yay! my input has help Drago refine this masterpiece!

Great Job Drago.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Mollalosso

March 01, 2014, 10:30:31 am #161 Last Edit: March 02, 2014, 02:19:51 am by Mollalosso
(Sorry for my bad english)
Hi guys, i have problem with any script resolution. Exclusive problem verified in battleback, i have insert image 1024x576 but visualy solo 1/4 . how can i resolve? ty.

Resolved
I change in "Spriteset_Battle this:

@viewport1 = Viewport.new(0, 0, 1300, 745)
and
@battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
@battleback_sprite.src_rect.set(0, 0, 1300, 745)

Zexion

I keep getting wrong argument type String (expected Module) at this line:
       if args.at(1) != '' && !include?(path) && RESIZE_BITMAP

On drago's latest

LiTTleDRAgo

just delete that method and the error will fixed

Zexion

Now I get the error on line 509
unless include?(key)

LiTTleDRAgo


Zexion

Okay so I've been experiencing wierd issues with this script lately. For some reason, when I first got my laptop back, this ran at 1024x576 with no stuttering at all on a huge 80x56 map with autotiles + some events. Now the same map stutters when moving diagonally. I haven't added any additional scripts since then, so I don't understand what happened lol. Anywho, I found an old version of this 0.93 to be exact, and it runs flawlessly. Or at least without more than the default amount of stuttering.
Why is this?

KK20

My tilemap rewrite in v0.96 uses a large number of sprites to create each tile for each layer. 1024x576 map uses 34*20*3 sprites, or 2040 sprite objects. And that's just for the tilemap drawing alone--we haven't even touched the windows, events, animations, etc.

There's been a toss up over how many sprites you can have at one time and not lose performance. My Windows 7 can have thousands of sprites and show almost no sign of lag in RMXP. In an RMXPA project, the lag was largely noticeable (FPS of single digits). However, I think it is due to the modified RGSS3 file provided in the package since 5000 sprites created in a RMVXA project didn't slow anything down for me. You need that file in order to create larger resolutions than 640x480 (going any further with an unedited one stretches the graphics). Drago reported his Windows XP lagging a lot, both in RMXP and RMXPA.

v0.93 uses large, map-sized bitmaps. These are handled much better than sprites (you can have thousands and there is no drop in FPS anywhere) but they eat a lot of memory. You are limited to how big your map can be because of this (run Task Manager and see for yourself). You also have to consider that to draw the tilemap, the script uses a lot of Bitmap#blt calls before the map is loaded. Also, to update the animating autotiles, Bitmap#blt must be called frequently. v0.93 has a lot of graphical display errors (you pointed one or two of them actually).

v0.96 (and above) hardly uses any memory and does a series of Sprite#src_rect to draw the tilemap, which is extremely fast compared to Bitmap#blt. You can make 500x500 maps with autotiles galore and have pretty nice performance. It's just larger resolutions are iffy at this point.

The real challenge becomes trying to find a nice balance between Sprites and Bitmaps or having to suck it up and sacrifice something.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Zexion

March 22, 2014, 03:24:07 am #168 Last Edit: March 22, 2014, 12:41:37 pm by Zexion
original post: ShowHide
The problem for me right now, is that I don't want to develop for one resolution and switch to another later on. I feel that the 640x480 is kinda limiting in terms of screen space. I've tried everything at this point for bigger resolutions. It is really odd to me that both your latest + drago's latest worked flawlessly a few weeks ago and now I'm seeing major stuttering. It doesn't even fix when I size it down in half (512x288), which is wierd because my laptop has decent specs so it shouldn't be this bad. I don't want to up-res the game if it's going to cause lag for the few people that actually play my game, but I really do want to have a bigger resolution.
My closest to no lag has been using Me(tm)'s rewrite, but it causes display errors with sprites that have alpha transperency. I can't even get the others to work XD
The thing is that I had already started to up-res the menu's that I've made, and I forgot to backup the main menu's original code >.< so now I'm reluctant to go back to default resolution. The graphics are still there but meh... it's like a few days worth just rewriting that.

Do you know of anything that I could do that could possibly help the performance? I'm going to install updates and turn off my pc completely for the night (because I never turn it off XD) and see if that helps.


Edit: Okay so this morning I tried it again, and it was still stuttering. Then I noticed that my hud was all pixely as if it was being redrawn over itself constantly. I'm not sure what went wrong with the script since I hadn't touched it in this project for weeks, but I replaced the code with some from my battlesystem project and the hud fixed, which seemed to fix the lag. This explains why I started lagging all of the sudden..

KK20

So it was just your script in the end? You're using RMXP and not RMXPA right?

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Zexion

Yeah it was my script, and I used to use RMXPA but I've switched back to just xp.
I've actually decided just to keep the 640x480 resolution. Though the script doesn't cause too much lag, it does have a visible amount of screen tearing, and I'm mainly concerned with it lagging too much for others. I don't expect most people to have good setups like most of us on C-P do, so it might be too much lag for anyone using an underpowered laptop. For now I am sticking to no custom resolution. For smaller resolutions though, this is definately my go-to script :P

Wingard

Hey!  :D Id like to use this fantastic script but after some testing i see that version 0.97 gives me some bugs (but its still much more stable than 0.96b since provides no crashes). Two screenies to help me visualise the issue:
http://s27.postimg.org/te0gy8t35/image.jpg
http://s27.postimg.org/xlv96zuip/image.jpg
As you can see some of the objects are not being displayed in-game (inside red rectangle). They are however blocking the way (stone, bush). The problem is present in any given resolution. Any help, please? :) Do i need to upload the map?

KK20

Just want to update that I've been working on a DLL Tilemap rewrite for the past week. I'm still experimenting with performance and optimizing it. I'll also try to get it to work with RGSS3 later too. And yes, I'll release the source :P

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

chrissummers

Hey there, sorry for the digging but I reeeeally love what this script does, however ... I got some issues ^^

For me, fps below 30 always seem very bad and worsen the experience considerably. With resolutions above ~800*600 on many maps, I already feel a difference, and anything rather big (~1200*~900) is pretty much unplayable. I would of course use a resolution that is still good performance wise but higher than default. The missing fullscreen option however makes this a hard choice.

So my questions are: Will there be an update for better fps and/or fullscreen within the next two months? I am working on a game that I will use in school (as a teacher) and would really love to use a version of this script.

Thanks for the work you put in!

KK20

You can try Goldaryn Multiple Resolution. I seem to be able to get constant 40 FPS at a 1024x768 resolution. It also allows fullscreen, provided your monitor can support it. Poccil's tilemap rewrite (which comes with the script, same one used in the Pokemon Essentials Kit) performs well on XP but is missing some core Tilemap features that I need for my own uses; I also have no idea how it works.

RPG Maker isn't exactly made for large resolution games (otherwise, resolution setting wouldn't be so damn hard to do). The drawing process is nothing fantastic and starts to lag when multiple sprites are present on the screen.

I was working on a DLL rewrite, but got too invested with trying to find ways to optimize it under this current circumstance. I might just find the time to finish what I started and release it for others to give feedback on it. Until ARC or F0's RPG.NET are finished, you will have to make do with the weak graphics engine RPG Maker utilizes. Or just forgo the whole resolution thing altogether.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

chrissummers

Hi there,

thanks for your quick response :)

I will take a look at Goldaryns Solution. What are the missing features you are speaking of?

The only reason a resolution change would help me, is, that I am trying to make a historically authentic game and some houses or especially the main church are quite huge and far bigger than what is normally visible on screen. That, to some degree, takes away some of the "wow"factor, as the player just cant see the whole building at once (or even half of it).

KK20

For my game, I need to be able to change the tile graphics on the fly by using $game_map.data[x,y,z] = tile_id. Poccil's Tilemap rewrite does not allow for such changes. I was also working on XP Ace (uses the VX Ace engine for XP games, resulting in smoother gameplay) and Poccil's rewrite had graphical errors. There might have been more, but I can't recall what they were. Anyways, I need other features as well, and the fact I can't understand how his rewrite works means it is useless for me to modify it.

That sounds pretty interesting, especially as a teacher, not as a student. Be sure to share your product when it's done! :)

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

R5GAMER

October 17, 2014, 09:47:35 pm #177 Last Edit: October 19, 2014, 10:50:59 pm by R5GAMER
On RMX-OS it works ;)

The probleme is that it seems like the hero is always stuct in a resolution 640x480...
..........________
....'/,-Y"............."~-.
..l.Y.......................^.
./\............................_\
i.................... ___/"...."\
|.................../"...."\ .....o!
l..................].......o !__../
.\..._..._.........\..___./......"~\
..X...\/...\.....................___./
.(. \.___......_.....--~~".....~`-.           
....`.Z,--........./.....................\
.......\__....(......../.........._____)
...........\.........l......../---~~" /
............Y.......\................../
............|........"x_____.^
............|.....................\
............j.....................Y

KK20

The update is nearing testing phase.
Spoiler: ShowHide

If you can't tell, the autotiles have different update times. Completely configurable based on filename too.

In this exact spot, 50 FPS on 1024x576 resolution. Pretty sure this is the best you can get thanks to the inefficient Sprite class. I will actually add in an option that allows you to remove priority level 5 tiles from your game (effectively turning them into priority 4) which will help improve FPS. I believe that is a sacrifice worth making as it benefits larger resolutions immensely (observed gain of 20~30FPS for 1200x800).

Then again, since this is mostly a Tilemap rewrite, it probably would be better to just make a new topic.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Wecoc

Quote from: KK20For my game, I need to be able to change the tile graphics on the fly by using $game_map.data[x,y,z] = tile_id. Poccil's Tilemap rewrite does not allow for such changes.


Are you sure about that? I copied the Poccil's Tilemap directly from upokecenter on an empty project, and $game_map.data[x, y, z] = tile_id works well on map.
I also tried the Dll-less Resolution Script without anything more and the call doesn't work any more; as I can see the table @map_data is not used internally as much as in Poccil's.

But it has the new method $game_map.change_tile(x, y, z, tile_id) which does exactly the same, so it's not a big problem.

By the way, I would also add a get_tile:

  def get_tile(x, y, z)
    return spriteset.tilemap.map_data[x, y, z] if spriteset.is_a?(Spriteset_Map)
  end


Quote from: KK20I will actually add in an option that allows you to remove priority level 5 tiles from your game (effectively turning them into priority 4) which will help improve FPS.


That sounds great!