Game Scene Stabilizer - Version 7.2.0

● ARCHIVED · READ-ONLY
Started by chaucer 260 posts Page 2 of 13 View original ↗
  1. @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!
  2. 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. :)
  3. 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 :)
  4. 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:

    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!
  5. Your new update fixed the compability issue, now the animation rates can be anything again. Great plugin. :)
  6. @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.
  7. 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!
  8. chaucer said:
    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
  9. This is great thank you.
  10. Scene Stabilizer plugin has been updated to 2.0.1, fixed a bug which can, in some circumstances, cause the game to freeze indefinitely.
  11. Oh my god, thank you so much for this!
  12. Best plugin on the whole wide web!
  13. Best Plugin Bro!
    Thank you!
  14. Love this plugin, thank you so much chaucer! <3
  15. 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.
  16. @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
  17. This plugin seems to have fixed a lot of my stuttering issues! Thanks :))
  18. @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 :)
  19. More information on the problem that I had;

    Turning the preload audio on or off doesn't seem to effect this compability issue.
  20. @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 ^^;