Game Scene Stabilizer - Version 7.2.0

Oscar92player

Veteran
Veteran
Joined
Jul 26, 2012
Messages
513
Reaction score
229
First Language
Spanish
Primarily Uses
RMMV
@chaucer Could it be possible to search for a solution about the BGM and BGS delay? Some users are reporting that the error is solved with the plugin, but it seems that I have the issue despite of having your plugin installed.

I've activated the TDDP Preload Manager and the add-on Web Audio Cache to avoid this issue, but I would like to use only your plugin for that too if possible, because those plugins have some serious bugs that are not solved (in mobile deployments, for example).

Thanks in advance!
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
325
Reaction score
549
First Language
English
Primarily Uses
RMMV
Ahhh I accidentally removed some code that made the fps reading more accurate, apologies to anyone who downloaded 1.5.0 and had some really long delays between changing scenes or loading animations the plugin is fixed now! Really sorry guys ^^; I'm a little spacy today.

also @Oscar92player I can definitely look into the issue, but it may be a while, because I'm still new to web audio, and am barely learning how it works, as for this plugin resolving any audio related issues, it's purely unintentional, this plugin was only made to handle graphic related lag. I'll ad it to my list though. :)
 

ramza

Lunatic Coder
Veteran
Joined
Jan 28, 2013
Messages
776
Reaction score
487
First Language
English
Primarily Uses
RMMV
When you first posted this plugin, I immediately downloaded it for use in my project. I didn't get to test it out yet, but with each update you add more features that make this even more desirable. Tonight I should finally get to test it out.

With that being said, I can't post here without mentioning that the word 'Stabilizer' in your plugin is spelled wrong. Sorry :)
 

TheTitan99

Veteran
Veteran
Joined
Nov 2, 2015
Messages
189
Reaction score
87
First Language
English
Primarily Uses
RMMV
I'm not a real programmer, I just edit code. You mentioned recently that it's hard to preload to the GPU. However, you also recently added in directly adding animations to the GPU. Using this, I created this short little testing function to preload a picture called "NONONO.png", mostly copied from your code:

TITAN_testPreLoad = function ()
{
var bitmap = ImageManager.loadPicture("NONONO");

bitmap.addLoadListener( function ()
{ // add a load listener to this resource.
var completed = bitmap.isReady();
if ( completed )
{ // when both files have finished loading.
var renderer = Graphics._renderer;
// upload the image to the gpu, and reset stabalizer.
renderer.bindTexture( new PIXI.Texture( bitmap.baseTexture ) );
resetStabalizer();
}
}.bind( this ) );

}

The image is 8MB, noticeably lagging the game when loading the first time. However, when I script call for this function, I seem to be adding the image to the GPU through the script call. I've checked the frame rate, and also checked visually how long an NPC lags, and they both go way smoother after this preload function, compared to if I just use a Show Picture event without doing this script call. The framerate dips instead at the script call, instead of at the Show Picture event.

However, like I said, I'm no programmer. For all I know, this will lead into memory leaks or something. So I'm asking if this is actually doing what I think it is, directly adding the image to the GPU through a script call. 'Cause if it is, then your plugin could double as a general preloader through script calls. Like, preload all needed animations at the start of combat and such!
 

Tuomo L

Oldbie
Veteran
Joined
Aug 6, 2012
Messages
2,326
Reaction score
1,286
First Language
Finnish
Primarily Uses
RMMV
Your new update fixed the compability issue, now the animation rates can be anything again. Great plugin. :)
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
325
Reaction score
549
First Language
English
Primarily Uses
RMMV
@ramza ._. I should probably rename my plugin, I didn't even realize this when spelling it :headshake: I'll update this in the next version which hopefully should be soon. :) Also hope the plugin works as you'd hoped. ^^

@TheTitan99 It's not really hard to upload the image to the GPU, what i meant was it'd be difficult to implement the feature into MV, for several reasons, however doing it in a preloader I guess would make sense :D. I'm not very good at explaining things, but I'll do my best to explain.

Uploading to the gpu is not a hard task to accomplish, what I meant was that it'd be hard to implement into MV, and the reason for that is, because once you do something like( this is probably the most accurate way people who write code use images ).
Code:
var sprite = new Sprite();
this.addChild( sprite ); // we are now rendering the sprite.
bitmap = ImageManager.loadPicture( 'MyPicture' );
bitmap.addLoadListener( function() {
  sprite.bitmap = bitmap // the bitmap is being immediately uploaded to the gpu
  // because the sprite is already being rendered, and the bitmap was added
  // the sprite while it is being rendered.
}.bind( this ) );
And because of that, it'd be difficult to just add uploading to the gpu before rendering the image, because most of the time the images are rendered as soon as they're created, I hope that part makes sense. Also as you said, the dip in FPS when uploading to the gpu happens when the image is uploaded, instead of when it's being drawn, which was my reason for this plugin, it was to avoid having to use a preloader, since a lot of preloaders can cause memory leaks or other issues. Also using this method in a preloader wouldn't be wise either, because as you suspected it could cause memory leaks, but no more so than just playing a bunch of animations without preloading them, however preloading a bunch of animations before battle could be problematic, especially for lower end video cards.

A while back I did have an idea to create a automatic preloader for battle animations, in short what it would do, is scan all the player and enemies attacks/skills, and only load the images those animations require, however I didn't do this either, cause it wouldn't be able to detect an animation if for example, it is used through an event, or a custom plugins, it also would be a bit longer to load into battles, and on top of that, if the player and or enemies have tons of animations with tons of different images, it could crash the game for people with lower end graphics cards, so I decided not to go down that path.

Also on a side note, the method I used in my code is not the optimal way to upload images to the gpu, I only used this method because it was the easiest, and most accurate way to make this work with all versions of MV, in 1.5.0+ theres a better way to do this.


Code:
Graphics._renderer.plugins.prepare.add( sprite1 );
Graphics._renderer.plugins.prepare.add( sprite2 ); // add items that should be uploaded.
Graphics._renderer.plugins.prepare.upload( function()
{ // a function that will run when all files are uploaded.
  scene.add( sprite1 );
  scene.add( sprite2 );
}.bind( this ) );
Graphics._renderer.plugins.prepare.prepareItems(); // start upload.
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
325
Reaction score
549
First Language
English
Primarily Uses
RMMV
Plugin version has been updated to 2.0.0!

  • "Stabilizer" is now spelled correctly! :guffaw:
  • Option to preload audio for maps, battles, and title screen before the scene is rendered has been added!
Thanks to @ramza for correcting me in my spelling error. T__T Also thanks to @Oscar92player for helping me debug the audio preloader!
 

Oscar92player

Veteran
Veteran
Joined
Jul 26, 2012
Messages
513
Reaction score
229
First Language
Spanish
Primarily Uses
RMMV
Plugin version has been updated to 2.0.0!

  • "Stabilizer" is now spelled correctly! :guffaw:
  • Option to preload audio for maps, battles, and title screen before the scene is rendered has been added!
Thanks to @ramza for correcting me in my spelling error. T__T Also thanks to @Oscar92player for helping me debug the audio preloader!
I'm very surprised the devs didn't pin up this in the forum, since this is the best plugin we have at this moment in order to preload the scenes correctly, avoiding the terrible frame drops that has RPG Maker MV by default.

This plugin is even better than TDDP Preload Manager and the Web Audio Cache plugins in compatibility, so we can combine this with, for example, YSP Preloader in order to fix the image flicker issue with some graphics like Faces, Pictures or System related.

Now we have the power to improve the performance in our games to infinity and beyond! Gya, ha, ha, ha, ha, ha!! ... Okay, that was overacted. :rswt
 

KanaX

Just being a sleepy
Veteran
Joined
Apr 3, 2013
Messages
1,455
Reaction score
1,297
First Language
Broken English.
Primarily Uses
N/A
This is great thank you.
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
325
Reaction score
549
First Language
English
Primarily Uses
RMMV
Scene Stabilizer plugin has been updated to 2.0.1, fixed a bug which can, in some circumstances, cause the game to freeze indefinitely.
 

hyuugacln

Veteran
Veteran
Joined
Sep 22, 2016
Messages
98
Reaction score
81
First Language
German
Primarily Uses
RMMV
Oh my god, thank you so much for this!
 

Biestmann

Studio Biest
Veteran
Joined
May 18, 2015
Messages
463
Reaction score
749
First Language
German
Primarily Uses
RMMV
Best plugin on the whole wide web!
 

Ally

Linked Rooms Games Founder - Fleshforward
Member
Joined
Mar 17, 2012
Messages
332
Reaction score
154
First Language
Italy
Primarily Uses
RM2k
Best Plugin Bro!
Thank you!
 

Plueschkatze

Veteran
Veteran
Joined
Aug 4, 2016
Messages
522
Reaction score
1,551
First Language
German
Primarily Uses
N/A
Love this plugin, thank you so much chaucer! <3
 

Tuomo L

Oldbie
Veteran
Joined
Aug 6, 2012
Messages
2,326
Reaction score
1,286
First Language
Finnish
Primarily Uses
RMMV
I found another compability issue;

If you have a custom battle result screen, such as Yanfly's Victory Aftermath, it will begin to play the BGM immediattly while also playing the ME resulting them both overlapping.

This happens with anything that changes battle results.
 

Gabrelik

Almighty Maker of Sandwiches
Veteran
Joined
Aug 29, 2015
Messages
772
Reaction score
1,286
First Language
English
Primarily Uses
RMMV
@chaucer, can this plugin be applied to custom passability tilesets? For example, I use a custom set to lay out my boundaries, so as to give me more versatility.

Normally, (because of the parallax map) these tiles will not show up on the map. In the transition between maps, however, they are momentarily seen. The plugin does not seem to affect this one way or another, but I assume that is because I am not actually showing any pictures? Here is a screenshot of what will momentarily appear between maps:

Capture.PNG

Would love any feedback you might provide. My best option at the moment is to make a "blind" version of these I can go back over them with, which would remove them from the picture while still maintaining the passability I want. It would be very time consuming, so you're awesome plugin would be much preferred. :D
 

Drifter92

Veteran
Veteran
Joined
Aug 9, 2017
Messages
122
Reaction score
82
First Language
English
Primarily Uses
RMMV
This plugin seems to have fixed a lot of my stuttering issues! Thanks :))
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
325
Reaction score
549
First Language
English
Primarily Uses
RMMV
@Gabrelik I apologize brother, I'm not sure I fully understand, so in short what you're saying is that your parallax map hides some of your tiles? I do not think this is related to loading, if the images are seen breifly between transtion, i think the issue is more than likely going to be with the order of the images. If you can, please send me a link to a small projecet where this problem is replicable, and I'll be more than happy to help out :)
 

Tuomo L

Oldbie
Veteran
Joined
Aug 6, 2012
Messages
2,326
Reaction score
1,286
First Language
Finnish
Primarily Uses
RMMV
More information on the problem that I had;

Turning the preload audio on or off doesn't seem to effect this compability issue.
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
325
Reaction score
549
First Language
English
Primarily Uses
RMMV
@Tuomo L I apologize, I'm unsure if I wrote it in the documentation, I should have, if not I'll add it in there though, my audio preload feature only affects default rpg maker scenes, and only the ones it can access( Title, Map, Battle Scenes only ), any custom scenes remain unaffects I apologize, theres just no way for me to scan for every possible audio file which could be used. :(

That being said though, I'm sure I can make a patch for compatability with The victory aftermath plugin. :) I'll try to get an update out by the end of the day.

edit : I just took a look at the victory after math plugin brother, unfortunately I can't really do much with it, as my plugins not a pre-loader for audio, it just loads audio between scene transfers, I thought this plugin used it's own scene, but it seems it does not, theres not really much I can do. I'd suggest looking into an audio preloader. Really sorry bro ^^;
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

People3_5 and People3_8 added!

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.

Forum statistics

Threads
105,868
Messages
1,017,085
Members
137,585
Latest member
Reversinator
Top