Huge drop in FPS while in water #3015

Closed
opened 2022-11-25 05:50:54 +01:00 by kneekoo · 21 comments
Contributor

I accidentally found the FPS drop to zero in an old world, but I created another one with the same seed and I got the same drop at the coords in the screenshot below.

FPS dropped to zero while in water

I didn't get any warnings or errors while that happened.

Minetest 5.6.1
MineClone2-master-2022-11-23-4cc0a5b0f1
mapgen v7, all flags enabled

I accidentally found the FPS drop to zero in an old world, but I created another one with the same seed and I got the same drop at the coords in the screenshot below. ![FPS dropped to zero while in water](https://i.imgur.com/yFGM9S9.jpg) I didn't get any warnings or errors while that happened. Minetest 5.6.1 MineClone2-master-2022-11-23-4cc0a5b0f1 mapgen v7, all flags enabled
kneekoo added the
bug
label 2022-11-25 05:50:54 +01:00
Member

what a silly seed. lol

what a silly seed. lol
Contributor

can't reproduce

believe it or not lol

can't reproduce believe it or not lol ![](https://mister-muffin.de/p/9hZw.png)
Author
Contributor

There's some air in there. Place a torch on a wall and you should notice the FPS drop. The drop happens when the colors on the sand change to gradients. So you can be in the water and see the sand normally, but if you move around just a bit, you'll notice the gradients and the FPS drop.

The issue is probably easier to notice on older Intel iGPUs like mine (Intel HD Graphics 4600 (HSW GT2), Mesa 21.2.6), but the visual effect should probably be visible on other Intel iGPUs.

Even the stone I was pointing at here has a color gradient:
stone in color gradient

There's some air in there. Place a torch on a wall and you should notice the FPS drop. The drop happens when the colors on the sand change to gradients. So you can be in the water and see the sand normally, but if you move around just a bit, you'll notice the gradients and the FPS drop. The issue is probably easier to notice on older Intel iGPUs like mine (Intel HD Graphics 4600 (HSW GT2), Mesa 21.2.6), but the visual effect should probably be visible on other Intel iGPUs. Even the stone I was pointing at here has a color gradient: ![stone in color gradient](https://i.imgur.com/zGwUHf9.jpg)
Contributor

are you sure placing a torch (where exactly?) is enough or when i try it next time you add another requirement? your original post said NOTHING about a torch.

If you're talking about it being GPU dependent it sounds like it's probably a minetest issue? But how do you think you know this?

are you sure placing a torch (where exactly?) is enough or when i try it next time you add another requirement? your original post said NOTHING about a torch. If you're talking about it being GPU dependent it sounds like it's probably a minetest issue? But how do you think you know this?
Author
Contributor

are you sure placing a torch (where exactly?) is enough or when i try it next time you add another requirement? your original post said NOTHING about a torch.

It didn't occur to me it would matter until you couldn't replicate and I thought what could be the reason. Chill. There's nothing else done there, I gave you all the details.

If you're talking about it being GPU dependent it sounds like it's probably a minetest issue? But how do you think you know this?

I added the GPU info as a "just in case" because it's GPU-related - the CPU had no spikes, and Minetest didn't throw warnings or errors.

P.S. I just tried placing torches in different places, the issue happens regardless.

> are you sure placing a torch (where exactly?) is enough or when i try it next time you add another requirement? your original post said NOTHING about a torch. It didn't occur to me it would matter until you couldn't replicate and I thought what could be the reason. Chill. There's nothing else done there, I gave you all the details. > If you're talking about it being GPU dependent it sounds like it's probably a minetest issue? But how do you think you know this? I added the GPU info as a "just in case" because it's GPU-related - the CPU had no spikes, and Minetest didn't throw warnings or errors. P.S. I just tried placing torches in different places, the issue happens regardless.
Contributor

same thing with a torch - the only fps drop i can produce is when i move between being in and out of water - which i suppose is quite expected as it has to apply more steps in rendering with water opaqueness.

With Intel HD 3000 [laptop gpu] i still get 30 fps even underwater at those coords though.

It probably makes little sense to compare fps though as the dominating factor is probably more graphical settings than the exact gpu.

same thing with a torch - the only fps drop i can produce is when i *move* between being in and out of water - which i suppose is quite expected as it has to apply more steps in rendering with water opaqueness. With Intel HD 3000 [laptop gpu] i still get 30 fps even underwater at those coords though. It probably makes little sense to compare fps though as the dominating factor is probably more graphical settings than the exact gpu.
Author
Contributor

These are my settings:
Minetest settings tab

The drop happens when the colors on the sand change to gradients. So you can be in the water and see the sand normally, but if you move around just a bit, you'll notice the gradients and the FPS drop.

Try moving around a bit (1-2 nodes), and look for color changes on the visible blocks - that's when the FPS drop happens.

While trying to see if torch positioning makes any difference, I lit up all the air pockets and I could get this issue consistently while moving along that small underwater ravene.

These are my settings: ![Minetest settings tab](https://i.imgur.com/dEpp12M.png) > The drop happens when the colors on the sand change to gradients. So you can be in the water and see the sand normally, but if you move around just a bit, you'll notice the gradients and the FPS drop. Try moving around a bit (1-2 nodes), and look for color changes on the visible blocks - that's when the FPS drop happens. While trying to see if torch positioning makes any difference, I lit up all the air pockets and I could get this issue consistently while moving along that small underwater ravene.
Member

use a jack-o-lantern -- they work under water.

use a jack-o-lantern -- they work under water.
Author
Contributor

There are plenty of air pockets there, so torches are enough. The point is you need some light to actually see those weird gradients.

There are plenty of air pockets there, so torches are enough. The point is you need some light to actually see those weird gradients.
Contributor

As i said kind of expected when a bunch of filters all of a sudden have to be applied. Interestingly i have more demanding settings enabled and seem to see considerably less fps drop ... but yeah ig my gpu is slightly better.

If this is a bug (which i am not convinced of) it seems to be a minetest problem ... idk if we can do much about it.

The only thing i can think of is you could try it before the underwater change (MineClone2/MineClone2#2960) and see if it's the same

As i said kind of expected when a bunch of filters all of a sudden have to be applied. Interestingly i have more demanding settings enabled and seem to see considerably less fps drop ... but yeah ig my gpu is slightly better. If this is a bug (which i am not convinced of) it seems to be a minetest problem ... idk if we can do much about it. The only thing i can think of is you could try it before the underwater change (https://git.minetest.land/MineClone2/MineClone2/pulls/2960) and see if it's the same
Member

So question... at what point do the players have to accept that they need better hardware to run this game?

I ask, because it's an eventuality...

So question... at what point do the players have to accept that they need better hardware to run this game? I ask, because it's an eventuality...
Author
Contributor

Interestingly i have more demanding settings enabled and seem to see considerably less fps drop ... but yeah ig my gpu is slightly better.

I think you just didn't run into the issue in your testing, either because of differences in your graphics stack (Xorg, Mesa, etc), or your client is different (official Minetest 5.6.1 here), or those different settings matter (share yours, please).

See Intel HD 4600 vs Intel HD 3000 - the HD 4600 is significantly more powerful, so there's something else going on here.

More details about my setup:

nicu@nas:/$ inxi -G
Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics driver: i915 v: kernel 
           Display: x11 server: X.Org 1.20.13 driver: modesetting resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 4600 (HSW GT2) v: 4.5 Mesa 21.2.6

The only thing i can think of is you could try it before the underwater change (MineClone2/MineClone2#2960) and see if it's the same

Indeed, after trying the master branch before that PR, everything was perfectly fine - nothing notable while transitioning from air to water, nor when moving through water.

So question... at what point do the players have to accept that they need better hardware to run this game?

The performance of my iGPU is not exciting, but it does a very good job with Minetest, Minecraft and other games. Where its age becomes apparent, is trying to play Minetest and recording the gameplay at the same time. But using software on something that is close to the minimum/medium requirements is a good way to easily catch performance issues and decide if you fix them or you just bump up the system requirements.

> Interestingly i have more demanding settings enabled and seem to see considerably less fps drop ... but yeah ig my gpu is slightly better. I think you just didn't run into the issue in your testing, either because of differences in your graphics stack (Xorg, Mesa, etc), or your client is different *(official Minetest 5.6.1 here)*, or those different settings matter (share yours, please). See [Intel HD 4600 vs Intel HD 3000](https://gpu.userbenchmark.com/Compare/Intel-HD-4600-Desktop-125-GHz-vs-Intel-HD-3000-Mobile-V2-13-GHz/2168vsm7647) - the HD 4600 is significantly more powerful, so there's something else going on here. More details about my setup: ``` nicu@nas:/$ inxi -G Graphics: Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics driver: i915 v: kernel Display: x11 server: X.Org 1.20.13 driver: modesetting resolution: 1920x1080~60Hz OpenGL: renderer: Mesa DRI Intel HD Graphics 4600 (HSW GT2) v: 4.5 Mesa 21.2.6 ``` > The only thing i can think of is you could try it before the underwater change (https://git.minetest.land/MineClone2/MineClone2/pulls/2960) and see if it's the same Indeed, after trying the master branch before that PR, everything was perfectly fine - nothing notable while transitioning from air to water, nor when moving through water. > So question... at what point do the players have to accept that they need better hardware to run this game? The performance of my iGPU is not exciting, but it does a very good job with Minetest, Minecraft and other games. Where its age becomes apparent, is trying to play Minetest **and** recording the gameplay at the same time. But using software on something that is close to the minimum/medium requirements is a good way to easily catch performance issues and decide if you fix them or you just bump up the system requirements.
Member

Makes sense.

Makes sense.

I have the same problem, after building a staircase in the end to a gateway, in which i let a long pillar of water run down to the bottom (around 80 nodes tall)

when swimming almost all the way up, the lag disappears and the UI gets brighter (looking normal) again.

i took screenshots with the default textures and a texture pack to make sure that its not just a texture pack issue.

[fed@nsa ~] ~> inxi -G
Graphics:
  Device-1: Intel Mobile 4 Series Integrated Graphics driver: i915 v: kernel
  Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.5 driver: X:
    loaded: intel unloaded: fbdev,modesetting,vesa dri: crocus gpu: i915
    resolution: 1280x800~60Hz
  API: OpenGL v: 2.1 Mesa 22.2.3 renderer: Mesa Mobile Intel GM45 Express
    (CTG)
[fed@nsa ~] ~>

minetest 5.6.1
mineclone2 0.80.0.r367.ga3fbb2e0c-1 (master)

I have the same problem, after building a staircase in the end to a gateway, in which i let a long pillar of water run down to the bottom (around 80 nodes tall) ![](https://mister-muffin.de/p/LVu4.png) when swimming almost all the way up, the lag disappears and the UI gets brighter (looking normal) again. ![](https://mister-muffin.de/p/W_ZY.png) i took screenshots with the default textures and a texture pack to make sure that its not just a texture pack issue. ``` [fed@nsa ~] ~> inxi -G Graphics: Device-1: Intel Mobile 4 Series Integrated Graphics driver: i915 v: kernel Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.5 driver: X: loaded: intel unloaded: fbdev,modesetting,vesa dri: crocus gpu: i915 resolution: 1280x800~60Hz API: OpenGL v: 2.1 Mesa 22.2.3 renderer: Mesa Mobile Intel GM45 Express (CTG) [fed@nsa ~] ~> ``` minetest 5.6.1 mineclone2 0.80.0.r367.ga3fbb2e0c-1 (master)
Member

Is the fps drop because of the graphics or is it some of my code that has some preformance issues in a computation?

Is the fps drop because of the graphics or is it some of my code that has some preformance issues in a computation?
Contributor

i guess it could help if someone who can reproduce it installed flecks "tps" counter (needs to be installed both as server and client mod)

https://github.com/OysterityAnarchy/tps
https://github.com/OysterityAnarchy/tps_client

if the tps goes way down during it it points to maybe being a mcl2 problem - otherwise only indirectly if anything (as it would be just client side).

i guess it could help if someone who can reproduce it installed flecks "tps" counter (needs to be installed both as server and client mod) https://github.com/OysterityAnarchy/tps https://github.com/OysterityAnarchy/tps_client if the tps goes way down during it it points to maybe being a mcl2 problem - otherwise only indirectly if anything (as it would be just client side).
Author
Contributor

No output yet. Here's what I did (local machine):

  1. added tps in ~/minetest/mods and enabled it for my test world
  2. added tps_client in ~/minetest/games/mineclone2/mods
  3. I enabled Client modding and Mod channels from the Minetest settings

I got nothing new in the HUD. The log complained about a deprecation that I think makes no difference at this point:

2022-11-28 02:53:58: WARNING[Main]: Mod tps_client at /home/nicu/.minetest/games/mineclone2/mods/tps_client:
2022-11-28 02:53:58: WARNING[Main]: 	Mods not having a mod.conf file with the name is deprecated.

Is this expected to work with Minetest 5.6.1? My MCL2 is the latest master.

No output yet. Here's what I did (local machine): 1. added `tps` in `~/minetest/mods` and enabled it for my test world 2. added `tps_client` in `~/minetest/games/mineclone2/mods` 3. I enabled `Client modding` and `Mod channels` from the Minetest settings I got nothing new in the HUD. The log complained about a deprecation that I think makes no difference at this point: ``` 2022-11-28 02:53:58: WARNING[Main]: Mod tps_client at /home/nicu/.minetest/games/mineclone2/mods/tps_client: 2022-11-28 02:53:58: WARNING[Main]: Mods not having a mod.conf file with the name is deprecated. ``` Is this expected to work with Minetest 5.6.1? My MCL2 is the latest master.
Contributor

the warning can be safely ignored ... not sure i've tried it with 5.6.1 but i dont see why it wouldn't work

you have to put tps_client into clientmods ... and tps into mods .. then enable both the clientmod (by editing clientmods/mods.conf - add a line saying "load_tps_client = true") and the server mod (by selecting it in the world menu) ... maybe you'll also have to enable client modding in all settings.

then you should have a live counter on the bottom right.

the warning can be safely ignored ... not sure i've tried it with 5.6.1 but i dont see why it wouldn't work you have to put tps_client into clientmods ... and tps into mods .. then enable both the clientmod (by editing clientmods/mods.conf - add a line saying "load_tps_client = true") and the server mod (by selecting it in the world menu) ... maybe you'll also have to enable client modding in all settings. then you should have a live counter on the bottom right.
Member

you could just add in:

name = [the name of it]

to the mod.conf.

you could just add in: ``` name = [the name of it] ``` to the mod.conf.
Author
Contributor

you have to put tps_client into clientmods ... and tps into mods .. then enable both the clientmod (by editing clientmods/mods.conf - add a line saying "load_tps_client = true") and the server mod (by selecting it in the world menu) ... maybe you'll also have to enable client modding in all settings.

then you should have a live counter on the bottom right.

Thanks, it was this line in ~/.minetest/clientmods/mods.conf:

load_mod_tps_client = true

The white counter looks like the FPS, which goes down significantly (from 30-31 to 8-10), and the yellow counter updates quite slower, compared to the fast refresh before this issue manifests.

you could just add in:

name = [the name of it]

to the mod.conf.

Yeah, I did this, just to get rid of the warning:

name = tps_client
author = Fleckenstein
description = Displays the current TPS in the HUD
> you have to put tps_client into clientmods ... and tps into mods .. then enable both the clientmod (by editing clientmods/mods.conf - add a line saying "load_tps_client = true") and the server mod (by selecting it in the world menu) ... maybe you'll also have to enable client modding in all settings. > > then you should have a live counter on the bottom right. Thanks, it was this line in `~/.minetest/clientmods/mods.conf`: ``` load_mod_tps_client = true ``` The white counter looks like the FPS, which goes down significantly (from 30-31 to 8-10), and the yellow counter updates quite slower, compared to the fast refresh before this issue manifests. > you could just add in: > ``` > name = [the name of it] > ``` > to the mod.conf. Yeah, I did this, just to get rid of the warning: ``` name = tps_client author = Fleckenstein description = Displays the current TPS in the HUD ```
ancientmarinerdev added the
graphics
performance
labels 2023-02-04 04:12:40 +01:00
Author
Contributor

This stopped being a problem a long time ago, likely due to PR #3367.

If it happens again, I'll reopen this.

This stopped being a problem a long time ago, likely due to PR #3367. If it happens again, I'll reopen this.
Sign in to join this conversation.
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: VoxeLibre/VoxeLibre#3015
No description provided.