phaser VS ffi-overhead

Compare phaser vs ffi-overhead and see what are their differences.

phaser

Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering. (by phaserjs)

ffi-overhead

comparing the c ffi (foreign function interface) overhead on various programming languages (by dyu)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
phaser ffi-overhead
7 19
36,421 642
0.7% -
9.8 0.0
1 day ago 10 months ago
JavaScript C
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

phaser

Posts with mentions or reviews of phaser. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-26.
  • Alternatives to Flash Player for Videogame Coding?
    1 project | news.ycombinator.com | 8 May 2024
  • 3 years of fulltime Rust game development, and why we're leaving Rust behind
    21 projects | news.ycombinator.com | 26 Apr 2024
    If you're targeting the browser first why not use a browser first library like PhaserJS [0]?. I don't see a reason to work around with WASM; HTML5 canvas might be everything that you need.

    [0] https://phaser.io/

  • Gamedev.js Jam 2024 start and theme announcement!
    4 projects | dev.to | 13 Apr 2024
    Gold : GitHub, Phaser Studio, Arcadia
  • Introduction to JavaScript: Empowering Web Development with Interactivity
    4 projects | dev.to | 25 Mar 2024
    Versatility: JavaScript is not limited to web browsers. It's used in a variety of environments, including mobile app development (using frameworks like React Native), game development (using libraries like Phaser), and even serverless computing (using platforms like AWS Lambda).
  • A developer portfolio as a 2D top-down walking simulator
    3 projects | news.ycombinator.com | 15 Mar 2024
    This reminds me of my first real dev job, 10y ago, making small facebook games with https://phaser.io it was actually kind of fun now that I think back.
  • Aftermath of switching from VSCode to Neovim
    3 projects | dev.to | 19 Feb 2024
    Is it worth it? I think while attempting to create a game engine with the Canvas API and vanilla JavaScript. (I quickly ditched that idea and started using PhaserJS)
  • Phaser: A fast, fun and free open source HTML5 game framework
    2 projects | news.ycombinator.com | 13 Sep 2023
    I didn't try to build anything with Phaser, but I evaluated it a bit when trying to pick a game engine for a 2D web game.

    The tech didn't impress me that much, but it also seemed like the most mature 2D game engine available in JS.

    Notably, Phaser 4 was announced ~four years ago and was an attempt to get the project written natively in TypeScript. It looks pretty dead in the water - https://github.com/phaserjs/phaser and having a "best effort" TypeScript experience layered onto Phaser 3 didn't excite me.

    Additionally, with browsers gaining support for WebGPU, I expect any game engine worth their snuff to begin rapidly adopting support for WebGPU. As best I can tell, any hope of Phaser supporting WebGPU is lumped into Phaser 4, so... not much to say there.

    Overall, it was a little tough for me to tell if I was being overly critical and viewing a mature product as a ghost town, but that's the impression I took away from it.

    As far as I can tell, BabylonJS is king in town for a TypeScript game engine, but its focus is 3D experiences. I didn't find an especially compelling 2D game engine. I ended up making a prototype using React + PixiJS + React-Pixi, but that was hardly an engine and had significant performance issues.

    Now I am building in Rust with Bevy. It's slow going, creating UI elements sucks right now, but the underlying tech is super solid and I feel good about what I write and what I learn even if I'm dismayed at the pace in which I am creating.

ffi-overhead

Posts with mentions or reviews of ffi-overhead. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-26.
  • 3 years of fulltime Rust game development, and why we're leaving Rust behind
    21 projects | news.ycombinator.com | 26 Apr 2024
    The overhead for Go in benchmarks is insane in contrast to other languages - https://github.com/dyu/ffi-overhead Are there reasons why Go does not copy what Julia does?
  • Can Fortran survive another 15 years?
    7 projects | news.ycombinator.com | 1 May 2023
    What about the other benchmarks on the same site? https://docs.sciml.ai/SciMLBenchmarksOutput/stable/Bio/BCR/ BCR takes about a hundred seconds and is pretty indicative of systems biological models, coming from 1122 ODEs with 24388 terms that describe a stiff chemical reaction network modeling the BCR signaling network from Barua et al. Or the discrete diffusion models https://docs.sciml.ai/SciMLBenchmarksOutput/stable/Jumps/Dif... which are the justification behind the claims in https://www.biorxiv.org/content/10.1101/2022.07.30.502135v1 that the O(1) scaling methods scale better than O(log n) scaling for large enough models? I mean.

    > If you use special routines (BLAS/LAPACK, ...), use them everywhere as the respective community does.

    It tests with and with BLAS/LAPACK (which isn't always helpful, which of course you'd see from the benchmarks if you read them). One of the key differences of course though is that there are some pure Julia tools like https://github.com/JuliaLinearAlgebra/RecursiveFactorization... which outperform the respective OpenBLAS/MKL equivalent in many scenarios, and that's one noted factor for the performance boost (and is not trivial to wrap into the interface of the other solvers, so it's not done). There are other benchmarks showing that it's not apples to apples and is instead conservative in many cases, for example https://github.com/SciML/SciPyDiffEq.jl#measuring-overhead showing the SciPyDiffEq handling with the Julia JIT optimizations gives a lower overhead than direct SciPy+Numba, so we use the lower overhead numbers in https://docs.sciml.ai/SciMLBenchmarksOutput/stable/MultiLang....

    > you must compile/write whole programs in each of the respective languages to enable full compiler/interpreter optimizations

    You do realize that a .so has lower overhead to call from a JIT compiled language than from a static compiled language like C because you can optimize away some of the bindings at the runtime right? https://github.com/dyu/ffi-overhead is a measurement of that, and you see LuaJIT and Julia as faster than C and Fortran here. This shouldn't be surprising because it's pretty clear how that works?

    I mean yes, someone can always ask for more benchmarks, but now we have a site that's auto updating tons and tons of ODE benchmarks with ODE systems ranging from size 2 to the thousands, with as many things as we can wrap in as many scenarios as we can wrap. And we don't even "win" all of our benchmarks because unlike for you, these benchmarks aren't for winning but for tracking development (somehow for Hacker News folks they ignore the utility part and go straight to language wars...).

    If you have a concrete change you think can improve the benchmarks, then please share it at https://github.com/SciML/SciMLBenchmarks.jl. We'll be happy to make and maintain another.

  • When dealing with C, when is Go slow?
    1 project | /r/golang | 16 Apr 2023
    If you're calling back and forth between C and Go in a performance critical way. It's one of the slowest languages for wrapping C that there is. I've personally hit this bottleneck in numerous projects, wrapping things like libutp and sqlite. See also https://github.com/dyu/ffi-overhead
  • Understanding N and 1 queries problem
    3 projects | news.ycombinator.com | 2 Jan 2023
    Piling on about overhead (and SQLite), many high-level languages take some hit for using an FFI. So you're still incentivized to avoid tons of SQLite calls.

    https://github.com/dyu/ffi-overhead

  • Are there plans to improve concurrency in Rust?
    8 projects | /r/rust | 26 Dec 2022
    Go doesn't even have native thread stacks. When call any FFI function Go has to switch over to an on-demand stack and coordinate the goroutine and the runtime to avoid preemption and starvation. This is part of why Go's calling overhead is over 30x slower than C/C++/Rust (source). It's understandbly become Go community culture to act like FFI is just not even an option and reinvent everything in Go, but that reinvented Go suffers from these other problems plus many more (such as optimizing far worse than GCC or LLVM).
  • Comparing the C FFI overhead on various languages
    1 project | /r/patient_hackernews | 14 May 2022
    1 project | /r/hackernews | 14 May 2022
    4 projects | news.ycombinator.com | 14 May 2022
    Some of the results look outdated. The Dart results look bad (25x slower than C), but looking at the code (https://github.com/dyu/ffi-overhead/tree/master/dart) it appears to be five years old. Dart has a new FFI as of Dart 2.5 (2019): https://medium.com/dartlang/announcing-dart-2-5-super-charge... I'm curious how the new FFI would fare in these benchmarks.
  • Would docker be faster if it were written in rust?
    3 projects | /r/rust | 18 Feb 2022
    In that case, the libcontainer library would be faster if written in most other languages seeing as Go has unfortunate C-calling performance. In this FFI benchmark Rust is on par with C with 1193ms (total benchmarking time), while Go took 37975ms doing the same.
  • Using Windows API in Julia?
    3 projects | /r/Julia | 1 Feb 2022
    Hi there folks! I'm going to call the Windows API as rapidly as possible and will be doing some calculations with the results, and I thought Julia might be perfect for this task as its FFI is impressively fast, and of course, Julia is fast regarding numbers as well :).

What are some alternatives?

When comparing phaser and ffi-overhead you can also consider the following projects:

kaboom.js - 💥 JavaScript game library

go - The Go programming language

Excalibur - 🎮 Your friendly TypeScript 2D game engine for the web 🗡️

sqlite

cocos-engine - Cocos simplifies game creation and distribution with Cocos Creator, a free, open-source, cross-platform game engine. Empowering millions of developers to create high-performance, engaging 2D/3D games and instant web entertainment.

krustlet - Kubernetes Rust Kubelet

Godot - Godot Engine – Multi-platform 2D and 3D game engine

glmark2 - glmark2 is an OpenGL 2.0 and ES 2.0 benchmark

A-Frame - :a: Web framework for building virtual reality experiences.

kutil - Go Utilities

melonJS - a fresh, modern & lightweight HTML5 game engine

lzbench - lzbench is an in-memory benchmark of open-source LZ77/LZSS/LZMA compressors