Hello wasn't sure where to post this but was just wondering what all methods have been used or will be used to increase minetest performance?
example: Only loading textures for block faces visible to camera etc..
im sure that has been done and others becuase the performance is already very good, but if we all thought about it we could make it better.
have you tried reducing image quality based on distance from player, like 64x64 texture within 8 block, 32x32 for 8-12 all the way down to 2 tone block for far distances?, kinda like farcry 1 developers used for their engine.
Minetest FPS
-
- New member
- Posts: 8
- Joined: Sun Dec 28, 2014 12:42
- IRC: Macabre222
- Krock
- Developer
- Posts: 4649
- Joined: Thu Oct 03, 2013 07:48
- GitHub: SmallJoker
- Location: Switzerland
- Contact:
Re: Minetest FPS
I'm not sure if it's Irrlicht's job to do such quality filters.
About the visible-face-only loading: It would take too much time to calculate it for each node.
About the visible-face-only loading: It would take too much time to calculate it for each node.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>
- rubenwardy
- Moderator
- Posts: 6972
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: Bristol, United Kingdom
- Contact:
Re: Minetest FPS
All the nodes - you may call them blocks - are combined into a single mesh (either for the whole world, or for each mapblock, I can't remember). The faces that are up against another block are hidden. You can see this if you get your head stuck in a block.
Your texture size scaling thing sounds like Level of Detail (LOD). It is used in some games for terrain. I don't think it is used in Minetest. Minetest used to have a feature called Farmesh, which allowed you to see 1000s of blocks into the distance, but this was removed as it was buggy. (Additionally, it was designed for Mapgen v5, and didn't work well with Mapgen v6)
I am not a senior developer, I know this from reading forum posts and talking on IRC. Zeno is the one to talk to about general optimisation at the moment, RealBadAngel does graphics optimisations. He fixed node boxes.
Your texture size scaling thing sounds like Level of Detail (LOD). It is used in some games for terrain. I don't think it is used in Minetest. Minetest used to have a feature called Farmesh, which allowed you to see 1000s of blocks into the distance, but this was removed as it was buggy. (Additionally, it was designed for Mapgen v5, and didn't work well with Mapgen v6)
I am not a senior developer, I know this from reading forum posts and talking on IRC. Zeno is the one to talk to about general optimisation at the moment, RealBadAngel does graphics optimisations. He fixed node boxes.
- Calinou
- Moderator
- Posts: 3169
- Joined: Mon Aug 01, 2011 14:26
- GitHub: Calinou
- IRC: Calinou
- In-game: Calinou
- Location: Troyes, France
- Contact:
Re: Minetest FPS
OpenGL does it for you, (called mip-mapping). However, it is disabled by default, you have to enable it in the options menu.macabre222 wrote:have you tried reducing image quality based on distance from player, like 64x64 texture within 8 block, 32x32 for 8-12 all the way down to 2 tone block for far distances?, kinda like farcry 1 developers used for their engine.
Occlusion culling is also already done since 0.3.1.
-
- New member
- Posts: 8
- Joined: Sun Dec 28, 2014 12:42
- IRC: Macabre222
Re: Minetest FPS
ah is that what mipmapping does lol, just tried it and sure enough there is a pixel'd blur at a distance.
I hope my post doesnt bother anyone, and sorry for just suggesting things that have already been done. I just found myself playing the game and thought hmm, what about this and that XD
I hope my post doesnt bother anyone, and sorry for just suggesting things that have already been done. I just found myself playing the game and thought hmm, what about this and that XD
Re: Minetest FPS
Forsynth mesh optimization is implementedmacabre222 wrote:Hello wasn't sure where to post this but was just wondering what all methods have been used or will be used to increase minetest performance?
example: Only loading textures for block faces visible to camera etc..
im sure that has been done and others becuase the performance is already very good, but if we all thought about it we could make it better.
have you tried reducing image quality based on distance from player, like 64x64 texture within 8 block, 32x32 for 8-12 all the way down to 2 tone block for far distances?, kinda like farcry 1 developers used for their engine.
Mesh welding is unfeasible due to the high runtime and the frequency at which meshes are regenerated
Frustrum culling has been implemented in software
Occlusion culling is implemented in software as well. (no idea about its effectiveness vs. hardware OC - probably not entirely useful unless each MapBlock is made into its own scene node)
VBO is implemented, but problematic due to Irrlicht's handling of dropped buffers.
Mipmapping is implemented but definitely not as useful as LOD handling
LOD handling is not implemented. Irrlicht has some things to help with this if I recall correctly. At a certain distance, textures could be a single pixel.
celeron55 reports that we could gain performance by re-adding the texture atlas. not sure about this one
Combining mapblock meshes would result in a significant gain on more recent GPUs.
Might help to play with vertex buffering modes for non-Intel/Linux setups
Also possibly might be a significant overdraw problem thanks to caves. Need to investigate further.
- Hybrid Dog
- Member
- Posts: 2828
- Joined: Thu Nov 01, 2012 12:46
- GitHub: HybridDog
Re: Minetest FPS
Does Minetest offer a batch counter? I can imagine the batch count could be an issue which the texture atlas and VBOs may reduce.
Who is online
Users browsing this forum: No registered users and 16 guests