Minetest FPS

macabre222
New member
 
Posts: 7
Joined: Sun Dec 28, 2014 12:42
IRC: Macabre222

Minetest FPS

by macabre222 » Tue Dec 30, 2014 17:08

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.
 

User avatar
Krock
Member
 
Posts: 3598
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker

Re: Minetest FPS

by Krock » Tue Dec 30, 2014 17:32

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.
Newest Win32 builds - Find a mod - All my mods
ALL YOUR DONATION ARE BELONG TO PARAMAT (Please support him and Minetest)
New DuckDuckGo !bang: !mtmod <keyword here>
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Re: Minetest FPS

by rubenwardy » Tue Dec 30, 2014 17:38

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.
 

User avatar
Calinou
Member
 
Posts: 3124
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou

Re: Minetest FPS

by Calinou » Tue Dec 30, 2014 18:34

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.


OpenGL does it for you, (called mip-mapping). However, it is disabled by default, you have to enable it in the options menu.

Occlusion culling is also already done since 0.3.1.
 

macabre222
New member
 
Posts: 7
Joined: Sun Dec 28, 2014 12:42
IRC: Macabre222

Re: Minetest FPS

by macabre222 » Tue Dec 30, 2014 20:53

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
 

hmmmm
Member
 
Posts: 47
Joined: Tue Apr 02, 2013 04:04

Re: Minetest FPS

by hmmmm » Fri Jan 02, 2015 17:56

macabre222 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.


Forsynth mesh optimization is implemented
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: 2460
Joined: Thu Nov 01, 2012 12:46

Re: Minetest FPS

by Hybrid Dog » Sat Feb 07, 2015 20:53

you could also add back farmesh
 

Hiradur
Member
 
Posts: 26
Joined: Sat Feb 22, 2014 17:44

Re: Minetest FPS

by Hiradur » Sun Feb 08, 2015 08:12

Does Minetest offer a batch counter? I can imagine the batch count could be an issue which the texture atlas and VBOs may reduce.
 


Return to Minetest General

Who is online

Users browsing this forum: No registered users and 13 guests

cron