How to actually get 1024 nodes(?) viewing range?

Post Reply
User avatar
Linuxdirk
Member
Posts: 2542
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

How to actually get 1024 nodes(?) viewing range?

by Linuxdirk » Post

I recently tried to mess around with the viewing range setting in Minetest to test out the limits of my hardware but I soon ran into an issue.

When setting to very low values a very small area (but larger as set) around me is shown, like 8-10 nodes with me being off-center in that area when set to 1.

When set to 20 to 100 it is what I expect: an area with a radius of roughly the value I set around me is loaded, and when I walk the area moves with me

When trying to reach the limit and set to 1024 (according to my second section of tests this would be roughly a 1024 nodes radius) for example, something unexpected happens.

https://youtu.be/cYqUs9cINys

As you can see in the video there is only a part of the area loaded and when moving around within 1024 nodes the world only gets partly loaded and stops without all areas are loaded (even the very close ones aren’t loaded).

Is that a bug or an already known limitation/issue or do I miss something.

Intel Core i7-4790K, 4GHz
Nvidia GeForce GTX 1080
16 GB RAM
Linux 4.15.11-1-ARCH x86_64
Minetest 0.4.16

User avatar
weqqr
Member
Posts: 10
Joined: Tue Mar 28, 2017 18:36
GitHub: weqqr
IRC: weqqr
In-game: weqqr
Location: Russia

Re: How to actually get 1024 nodes(?) viewing range?

by weqqr » Post

Minetest has a bunch of other settings that limit the automatically loaded area. Have you tried to rise them?

Code: Select all

max_block_send_distance = 64
block_send_optimize_distance = 64
max_block_generate_distance = 64
client_mapblock_limit = -1
Not sure why the default settings are so low though.

User avatar
Linuxdirk
Member
Posts: 2542
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: How to actually get 1024 nodes(?) viewing range?

by Linuxdirk » Post

I tried and set those values:

Code: Select all

viewing_range = 1024
max_block_send_distance = 1024
block_send_optimize_distance = 1024
max_block_generate_distance = 1024
client_mapblock_limit = -1
Same result :(

Update: This somehow helped … But map generation seems to be absurdly slow after a certain distance :(

User avatar
cx384
Member
Posts: 499
Joined: Wed Apr 23, 2014 09:38
GitHub: cx384
IRC: cx384

Re: How to actually get 1024 nodes(?) viewing range?

by cx384 » Post

I think you confuse nodes with blocks.
One block consists of 4096 nodes.
http://dev.minetest.net/Basic_data_structures
So 64 blocks should give you a range of 1024 nodes.
https://github.com/minetest/minetest/bl ... mple#L1210
Can your read this?

User avatar
Linuxdirk
Member
Posts: 2542
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: How to actually get 1024 nodes(?) viewing range?

by Linuxdirk » Post

cx384 wrote:I think you confuse nodes with blocks.
The configuration says “nodes”.

https://github.com/minetest/minetest/bl ... #L612-L614

So I expect 1024 nodes viewing range when setting this value to 1024.

If all of the other values are larger than 1024 nodes in result I expect the engine to not load anything that is above 1024 nodes viewing range.
Last edited by Linuxdirk on Mon Apr 02, 2018 11:13, edited 1 time in total.

User avatar
cx384
Member
Posts: 499
Joined: Wed Apr 23, 2014 09:38
GitHub: cx384
IRC: cx384

Re: How to actually get 1024 nodes(?) viewing range?

by cx384 » Post

I meant max_block_send_distance, block_send_optimize_distance, max_block_generate_distance and client_mapblock_limit they are in blocks, so loading (1024*2)^3 blocks (= 35 trillion nodes) at once would probably not work well on a normal computer. By default max_block_send_distance = 10 ( (10*2)^3 blocks = 32 million nodes ( one millionth of that what you are trying )).
If you want a viewing range of 1024 nodes I would recommend you to set those numbers greater then 64 because block generating/sending/loading is time consuming. Obviously you can change the view distance with the "+" and "-" keys by 10 nodes but you can't see unloaded blocks.
Oh and I guess you can only see complete blocks. Therefore you can't have a constant view range of 1024 nodes.
Can your read this?

User avatar
Linuxdirk
Member
Posts: 2542
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: How to actually get 1024 nodes(?) viewing range?

by Linuxdirk » Post

cx384 wrote:Therefore you can't have a constant view range of 1024 nodes.
That would be fine if it were at least somewhere around that. But I guess this is simply not possible currently because how blocks are loaded.

The area extends to around 2-300 nodes really quick and then generation suddenly extremely slows down to blocks not loaded no matter how long I stare at them and as soon as I move near them the generation continues.

User avatar
cx384
Member
Posts: 499
Joined: Wed Apr 23, 2014 09:38
GitHub: cx384
IRC: cx384

Re: How to actually get 1024 nodes(?) viewing range?

by cx384 » Post

Linuxdirk wrote:The area extends to around 2-300 nodes really quick and then generation suddenly extremely slows down to blocks not loaded no matter how long I stare at them and as soon as I move near them the generation continues.
I thought the max_block_generate_distance could change this but maybe I am wrong and my knowledge ends here.

( I doubt emergequeue_limit_generate would change anything. )
Can your read this?

User avatar
Fixer
Member
Posts: 895
Joined: Sun Jul 31, 2011 11:23
IRC: Fixer
In-game: Fixer
Location: Ukraine

Re: How to actually get 1024 nodes(?) viewing range?

by Fixer » Post

Will you provide some figures about performance you get? Including on heavy spawns like Hometown, LinuxGaming2, etc

User avatar
Linuxdirk
Member
Posts: 2542
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: How to actually get 1024 nodes(?) viewing range?

by Linuxdirk » Post

Fixerol wrote:Will you provide some figures about performance you get?
Sure … If I manage to get what I wanted to test I’ll do some benchmarking under different circumstances. Unfortunately I can’t get and I doubt it is hardware related …

User avatar
paramat
Developer
Posts: 3658
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: How to actually get 1024 nodes(?) viewing range?

by paramat » Post

At 4:10 in your video you indicate an unloaded area but there's no bug here, you didn't get close enough to that area to generate it, you only flew around it at a distance.
By default a mapblock is only generated if within 7 mapblocks (7 * 16 nodes) of a player, or, a generated mapblock is only loaded for a player if within 9 mapblocks of that player. These distances are set in settings and are not increased when you increase your view range.

Nothing else in your video looks wrong, at 1:19 you indicate an area that is sluggish to load in, but it's still fairly distant. This occasional sluggishness happens but moving towards the area tends to wake it up.

> Update: This somehow helped … But map generation seems to be absurdly slow after a certain distance :(

This is expected as you are generating the perimeter of a much larger radius, server mapgen and client meshgen still run at the same speed.

Code: Select all

max_block_send_distance = 1024
block_send_optimize_distance = 1024
max_block_generate_distance = 1024
These are in units of mapblocks / blocks, which are 16 nodes wide, so for 1024 nodes you need to use a value of 64.

User avatar
Linuxdirk
Member
Posts: 2542
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: How to actually get 1024 nodes(?) viewing range?

by Linuxdirk » Post

paramat wrote:At 4:10 in your video you indicate an unloaded area but there's no bug here, you didn't get close enough to that area to generate it, you only flew around it at a distance.
But the distance was within the set view range so in a way I expect it to load regardless how close I am. Like in this animation: I am the dot in the middle, and the circle represents the view distance around me. When I move the area covered by the view distance moves with me, so anything within the view distance should be loaded.
Image
... at least this is what I associate with a view distance setting.

User avatar
Festus1965
Member
Posts: 1288
Joined: Sun Jan 03, 2016 11:58
In-game: Thomas Explorer Thailand
Location: Thailand - Chiang Mai (+5-6h to MEZ)
Contact:

Re: How to actually get 1024 nodes(?) viewing range?

by Festus1965 » Post

The Video shows me that you didn't understand yet the difference of
* loading an block (from server) to be able to see it,
* and the viewing distance, that show you only the already loaded blocks

I have most time a view of 2048, but as long I didn't visit (activated and loaded them by my avatar) even 10.240 view distance would not help to see them.

So as most servers have a not changeable set of loading distance and send distance you still have to visit the areas you want to see, as then you can also see them from further distance.

User avatar
Linuxdirk
Member
Posts: 2542
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: How to actually get 1024 nodes(?) viewing range?

by Linuxdirk » Post

Festus1965 wrote:So as most servers [...]
This is a local game on my local computer. While technically this is a server, I am 100 percent in control of it. Do you know what do I need to change in order to achieve what I expect by the term "viewing range"?

Setting the mentioned values to absurdly high values does not help.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest