Skip to content

Conversation

@obiot
Copy link
Contributor

@obiot obiot commented Feb 12, 2023

fix blinking sprite rendering in the current version.

fix blinking sprite rendering in the current version.
@Shirajuki
Copy link
Owner

Shirajuki commented Feb 13, 2023

Ahh so cool, noticed by a bigshot 🤩! Thank you very much for the PR fix!
I wondered why it was blinking as well, but couldn't find out the issue due to having spent little time on the library.
🥳

@Shirajuki Shirajuki merged commit 0ec7cbb into Shirajuki:master Feb 13, 2023
@obiot
Copy link
Contributor Author

obiot commented Feb 14, 2023

Ahh so cool, noticed by a bigshot 🤩! Thank you very much for the PR fix!
I wondered why it was blinking as well, but couldn't find out the issue due to having spent little time on the library.
🥳

thanks for merging it as well !! Also, if you update to the latest 14.5 version of melonJS it does provide a nice 17%-25% performance improvements that bring it at least on par with other frameworks for sprite rendering (60fps for all cases, at least on my machine). 10'000 circles are still painful to draw, but getting there too :)

[EDIT] here is the detailed test I did : https://melonjs.discourse.group/t/melonjs-benchmark/48

@Shirajuki
Copy link
Owner

Shirajuki commented Feb 15, 2023

Hello again! That is very interesting! I have just updated melonJS to the latest version of 14.5 and it seems to be working very well on my machine too. I'll definitely try out melonJS for a project in the future 🙌

Here's a detailed test I did on sprite rendering, there was indeed a significant improvement on the performance! 🤩

        v14.4  v14.5
  500 - 60fps  60fps
 1000 - 60fps  60fps
 2500 - 60fps  60fps
 5000 - 50fps  60fps
10000 - 17fps  32fps
15000 - 09fps  18fps

@obiot
Copy link
Contributor Author

obiot commented Feb 15, 2023

this is awesome ! I'm a bit surprised though that you are not able to get more performance out of your machine, on mine (Apple M1 Max) I'm hitting 60 fps whatever framework I'm trying, but then indeed maybe I should push it to 15'000 for future reference.

thank you again for the update, really appreciating it. And next we are working on improving drawing performances for primitive, so you'll definitely hear more from us on the circle fill and stroke test :):):)

@Shirajuki
Copy link
Owner

Shirajuki commented Feb 15, 2023

My machine doesn't seem to be capable of hitting 60fps on any of the framework tested when going for >= 10'000 sprites sadly haha. M1 does really perform well as the rumours say I guess 🤤

I am glad the benchmark were of some help in contributing to an awesome project such as yours. 😊 I'll be looking forward to the next update, thank you too! 🥳

@obiot
Copy link
Contributor Author

obiot commented Mar 30, 2023

Hi @Shirajuki again,

By the way, would you mind also add a mention on melonJS in the README ? with melonJS performing at least as well as Phaser on my machine (they all do 60 fps on my side), and If I may ask, melonJS at least deserve to be mentioned here below as well

Babylon.js: [56 FPS] Babylon.js outperforms Three.js and has the best overall performance when it comes to rendering 2D sprites, despite being one of only two 3D engines in this benchmark - game engine. (link)
Pixi.js: [47 FPS] Good performance - rendering engine. (link)
Phaser: [43 FPS] The most popular library for HTML5 game development, and the performance demonstrates why. Overall, a good performance - game engine. (link)

Thank you very much really !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants