Page 1 of 1

[fixed] 0.4.4 vs 0.4.13 - FPS regression

Posted: Tue Sep 29, 2015 16:00
by Fixer
So, thanks to OldCoder :) I've managed to do simple FPS tests of RedCrab on 0.4.4 and RedCrab on 0.4.13 with as identical settings as possible.

Results (both at 240 nodes view, set by minetest itself):
0.4.4 - 48 FPS
0.4.13 - 40 FPS


So we have -8 FPS drop or -17% in MT 0.4.13. :( Don't forget that 0.4.4 got not only better FPS but it is much smoother in general (without jitter/stutter), 0.4.13 got sometimes some limited jittering (stuttering) while walking.

Config, 0.4.4:
+ Spoiler
Config 0.4.13
+ Spoiler
Pics (note that 0.4.4 draws even more but having larger FPS anyway):
Image
Image

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Tue Sep 29, 2015 16:06
by Krock
Please note that the shadowed TrueType text also requires some time to get rendered.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Tue Sep 29, 2015 16:35
by Fixer
Krock wrote:Please note that the shadowed TrueType text also requires some time to get rendered.
I've addressed that issue by disabling both HUD and text,
results:
MT 0.4.4 - 48 FPS
MT 0.4.13 - 41 FPS


0.4.13 got -7 FPS (or -15%)

Pics (night ones):
Image - 0.4.13
Image - 0.4.4

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Wed Sep 30, 2015 19:29
by RealBadAngel
.13 has minimap, if you would like to compare those versions you should disable minimap in config.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Wed Sep 30, 2015 20:54
by Fixer
it was hidden at least :)

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Wed Sep 30, 2015 22:42
by paramat
Unless it's disabled in config the minimap still affects performance even when hidden (i think).

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Wed Sep 30, 2015 22:46
by kaadmy
I don't know much about this, but having the minimap disabled via pressing the F9 key untill it's not shown increases performance. I don't think you need to disable it in the config.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Wed Sep 30, 2015 22:54
by Fixer
.13 has minimap, if you would like to compare those versions you should disable minimap in config.
There is practically no difference if enable_minimap = true or false, if minimap is itself hidden. Tested it. Map actually enabled will get -1-2 FPS down and lots of stutter (because chunks are loading).

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 06:04
by RealBadAngel
i meant disabling minimap in config. F9 just hides it, it is still gathering data (its bound to mesh generation for block)

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 08:33
by jp
Btw you must set a static viewing range on your benchmarks (see below), the default settings are set to a random viewing range (between 35 and 240) doing a roundtrip and this affects the performance significantly.

Code: Select all

viewing_range_nodes_min = 50
viewing_range_nodes_max = 50
Otherwise it's not a surprise you have more FPS on an older version, it has less features. You would have more FPS on 0.0.1 as well.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 11:37
by Fixer
RealBadAngel wrote:i meant disabling minimap in config. F9 just hides it, it is still gathering data (its bound to mesh generation for block)
Yes, I've disabled it in config, FPS is practically the same.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 16:27
by Fixer
jp wrote:Btw you must set a static viewing range on your benchmarks (see below), the default settings are set to a random viewing range (between 35 and 240) doing a roundtrip and this affects the performance significantly.

Code: Select all

viewing_range_nodes_min = 50
viewing_range_nodes_max = 50
Otherwise it's not a surprise you have more FPS on an older version, it has less features. You would have more FPS on 0.0.1 as well.
Both screenshots got v_range at 240 automatically set by minetest.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 20:30
by jp
240 nodes is the default maximum value. But Minetest also set a minimum value (at 35 nodes by default).

It means that your viewing range will do a roundtrip in-game between 35 and 240 nodes. It means also that your FPS will be randomly affected and therefore your benchmark is non-objective.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 22:09
by Fixer
It means that your viewing range will do a roundtrip in-game between 35 and 240 nodes. It means also that your FPS will be randomly affected and therefore your benchmark is non-objective.
I was not moving, my v_range was 240 AT ALL TIMES.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 22:13
by rubenwardy
the range finding algorithm drops FPS a little.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 22:24
by jp
I was not moving, my v_range was 240 AT ALL TIMES.
You don't need to move for the viewing range does their comings and goings. Even if you're immobile, there's an algorithm that adjusts dynamically the viewing range between the min value and the max value.

What you see on the top of your screen is the max value of the viewing range, that's all. Your minimal viewing range is still at 35 as you did not set anything about that in your .conf.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Thu Oct 01, 2015 23:00
by Fixer
but at the moment of measurement it was 240 (minetest adjusted it too max itself). :p I can test it with fixed 240, no big deal really.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Fri Oct 02, 2015 14:15
by Minetestforfun
@Fixerol
Jp is right, you need to set a static minimum and maximum view range like :
minimum view range : 120
minimum view range : 120

Also, you need to desactivated for the 0.4.13 client the minimap in the minetest.conf

After this, you can retry your FPS tests, it will be more objective and accurate. And if you're right, core devs will maybe investigate ths FPS rates regression...

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Fri Oct 02, 2015 15:29
by Fixer
Minetestforfun wrote:@Fixerol
Jp i right, you need to set a static minimum and maximum view range like :
minimum view range : 120
minimum view range : 120

Also, you need to desactivated for the 0.4.13 client the minimap in the minetest.conf

After this, you can retry your FPS tests, it will be more objective and accurate. And if you're right, core devs will maybe investigate ths FPS rates regression...
Ok, I've added to both 0.4.4 and 0.4.13 viewing_range_nodes_max(and min) = 240 (minimap disabled in config), wait for few minutes till everything in view loads, hud and text disabled: Same results with same 7-8 FPS drop in 0.4.13. Just deal with it!

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Sat Oct 03, 2015 16:29
by Sokomine
Fixerol wrote: Ok, I've added to both 0.4.4 and 0.4.13 viewing_range_nodes_max(and min) = 240 (minimap disabled in config), wait for few minutes till everything in view loads, hud and text disabled: Same results with same 7-8 FPS drop in 0.4.13. Just deal with it!
Perhaps. But there are also other issues. I remember how awfully long it took me to load land on Redcrabs server. Blocks loaded very slowly. On OldCoders server, you get a far larger view far far faster. That may have an impact as well. It feels far better to walk around on a server where the buildings can actually be seen. I do recommend OldCoders server for sightseeing. Just keep in mind that a few blocks are not set correctly yet (moreblocks nodes; they went through a lot of changes in the past years since Redcrabs server last received an update).

OldCoders version of Redcrabs server also feels much faster than many other servers. I don't know why; but it does feel good.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Sat Oct 03, 2015 21:25
by paramat
Hmmmm has noticed a mysterious FPS drop recently, currently we don't know what causes it.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Sun Oct 04, 2015 09:38
by Calinou
rubenwardy wrote:the range finding algorithm drops FPS a little.
Why don't we scrap it entirely then, and instead have a first-run menu that prompts you for your graphics hardware (or, better, runs an automated benchmark and sets viewing range for once and all automatically)?. This menu could do other things, like language selection (in case someone wants to force English language or such), tell the player to change their keys and set their name.

This was done by Wolfenstein: Enemy Territory (manual graphics preset selection) and Trackmania (automatic benchmark, with manual graphics preset selection being available in case the benchmark fails to run).

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Sun Oct 04, 2015 10:45
by Fixer
Why don't we scrap it entirely then, and instead have a first-run menu that prompts you for your graphics hardware (or, better, runs an automated benchmark and sets viewing range for once and all automatically
Edit:
I take my words back on keeping it enabled by default, what I see is range finder is quite annoying when you have it on, when you walk it changes view distance too much back and forth and don't forget looking back with 240 causes sharp drop back to 35.

Automated benchmark could be nice, I support your idea (but it could be hard to implement). However, if it sets for you, say, 120 nodes (you have a good card), good luck playing single player with it because stutter will be just megahorrible.

Range finder is part of the problem. Low FPS could be bad optimization of MT in general. I'm not saying that it is bad everywhere, it tends to go much lower in crowded places with lots of user-placed blocks (and occlusion culing is per 16x16x16, which has limited effectiveness), if you go in wilderness FPS will be really good but with visible stuttering (another big problem for playability) while new chunks are generated. However, my tests seem to show there are indeed some regressions which slowed down the client.

Re: [bug] 0.4.4 vs 0.4.13 - FPS regression

Posted: Tue Dec 20, 2016 21:33
by Fixer
Revisited this topic, did test on recent 0.4.14-dev (24edfb7), and got 58 fps (or +20% fps boost compared to 0.4.4, or +45% compared to 0.4.13). That means this topic is no longer relevant.
Screenshot:
Image
0.4.14dev perf redcrab.png
(693.16 KiB) Not downloaded yet