meoo / simplegameengine Goto Github PK
View Code? Open in Web Editor NEWSimple game engine using SFML2
License: GNU General Public License v3.0
Simple game engine using SFML2
License: GNU General Public License v3.0
Reduce allocation times by using memory pools.
Quadtrees and Particles could profit a lot from theses pools, as they do frequent allocations/deallocations.
Entities would not benefit as much, because they can have varying sizes, and stay on the screen for a relatively long time
Enabling threading with RESOURCES_THREADING (Config.hpp) causes a serious CPU overhead.
The number of workers does not change anything : the CPU usage is the same with 1 or 32 workers.
This is confirmed as the CPU usage doesn't change when multiple empty tasks with long sleep commands are issued.
Strangely enough, there is a downpeak when changing from intro screen to menu screen, or from menu screen to game screen (when TransitionScreen is active?)
Require #3 Memory pools
Particle system allow to have cheap, but still good looking effects easily.
The use of sf::VertexArray is highly recommended to draw multiple sprites with a single texture, as it is much faster.
Although pause should be handled in main, it can be a screen overlapping the current one instead of the modal mechanism it is actually.
This problem is known in SFML, and seems to come from the resolution of the sleep function Windows use.
It causes random variations of the FPS count depending on the other running applications (try closing / opening your web browser and check the FPS counter).
Possible solutions :
VSync is also affecting the FPS counter...
assert
s is not a good exception handling mechanism.
Some errors must be catched even in release mode.
Following #2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.