AliasAlreadyTaken reports: Post office performance idea. ... #6641

Open
opened 2024-04-13 14:36:18 +00:00 by yourland-report · 8 comments

AliasAlreadyTaken reports a bug:

Post office performance idea. What if we made a single entity per row and hardcoded the names in? They don't change much and if they do ... we go that in hand ourselves via script

Player position:

{
	x = 1973.7880859375,
	y = 11.625,
	z = 1091.7750244141
}

Player look:

{
	x = 0.033471882343292,
	y = 0.18000411987305,
	z = -0.98309624195099
}

Player information:

{
	min_rtt = 0.014000000432134,
	min_jitter = 0,
	max_jitter = 0.24700000882149,
	avg_jitter = 0,
	connection_uptime = 48597,
	serialization_version = 29,
	patch = 0,
	lang_code = "de",
	version_string = "5.9.0-dev-30e280b69",
	minor = 9,
	avg_rtt = 0.016000000759959,
	max_rtt = 0.27700001001358,
	protocol_version = 42,
	major = 5,
	formspec_version = 7,
	state = "Active",
	ip_version = 6
}

Player meta:

{
	fields = {
		["ocean_build.ocean_built"] = "12",
		["petz:werewolf_clan_idx"] = "4",
		["signslib:pos"] = "(1974,15,1168)",
		repellant = "0",
		lagometer = "1",
		inflicted_damage = "3023690",
		["hud_manager:spawnit:hud_enabled"] = "y",
		digged_nodes = "140841",
		placed_nodes = "183941",
		died = "1593",
		crafted = "4795",
		["sethome:home"] = "(1983.4349365234,17.5,1183.5950927734)",
		partypvp = "true",
		yl_commons_player_joined = "1712970385",
		yl_audio_state = "off",
		["ethereal:fly_timer"] = "-99",
		arenalib_watchID = "0",
		bitten = "0",
		["arena_lib_editor.team_ID"] = "0",
		["arena_lib_editor.players_number"] = "0",
		["petz:old_override_table"] = "return {[\"speed\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false, [\"gravity\"] = 1, [\"jump\"] = 1, [\"sneak\"] = true}",
		["3d_armor_inventory"] = "return {\"\", \"\", \"\", \"\", \"\", \"\"}",
		["stamina:level"] = "0",
		["arena_lib_editor.spawner_ID"] = "0",
		partychat = "party",
		yl_commons_thankyou = "1606",
		["petz:werewolf"] = "0",
		arenalib_infobox_arenaID = "0",
		["petz:lycanthropy"] = "0",
		yl_church = "return {[\"last_death\"] = {[\"x\"] = 1979, [\"y\"] = 18, [\"z\"] = 1174}, [\"last_heal\"] = 1707613077, [\"last_death_portal\"] = 1683839371}",
		punch_count = "65261",
		["stamina:poisoned"] = "no",
		szutil_watch = "return {}",
		["stamina:exhaustion"] = "75",
		team = "STAFF",
		["petz:werewolf_vignette_id"] = "19",
		hud_state = "on",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		played_time = "106440362",
		xp = "0",
		xp_redo_hud_color = "0xFFFF00",
		["ocean_build.last_warning"] = "1.67421e+09",
		["ocean_build.forbidden"] = "true"
	}
}

Log identifier


[MOD] yl_report log identifier = kOQvvQjvVozKmCrVdWI8vf88ltTdqocT

Profiler save:

profile-20240413T143618.json_prettyEE

Status:

# Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 21h 11min 37s | max lag: 0.621s | clients (26/52): 31_yu, AliasAlreadyTaken, Bailiff, Bingo, Boot, der_c_aus_a, gianlp, JinnyC, Joelchacko, LadYeauty, LadyPixels, LeetPeet, Lucien, Lucien_II, Murmel, Nomtom, Oakenshield, ondra, paulie420, pifo, playor, poppyasdan, Sandra, Service, Shismu, valli

Teleport command:

/teleport xyz 1974 12 1092

Compass command:

/give_compass Construction kOQvvQjvVozKmCrVdWI8vf88ltTdqocT D2691E 1974 12 1092
AliasAlreadyTaken reports a bug: > Post office performance idea. What if we made a single entity per row and hardcoded the names in? They don't change much and if they do ... we go that in hand ourselves via script Player position: ``` { x = 1973.7880859375, y = 11.625, z = 1091.7750244141 } ``` Player look: ``` { x = 0.033471882343292, y = 0.18000411987305, z = -0.98309624195099 } ``` Player information: ``` { min_rtt = 0.014000000432134, min_jitter = 0, max_jitter = 0.24700000882149, avg_jitter = 0, connection_uptime = 48597, serialization_version = 29, patch = 0, lang_code = "de", version_string = "5.9.0-dev-30e280b69", minor = 9, avg_rtt = 0.016000000759959, max_rtt = 0.27700001001358, protocol_version = 42, major = 5, formspec_version = 7, state = "Active", ip_version = 6 } ``` Player meta: ``` { fields = { ["ocean_build.ocean_built"] = "12", ["petz:werewolf_clan_idx"] = "4", ["signslib:pos"] = "(1974,15,1168)", repellant = "0", lagometer = "1", inflicted_damage = "3023690", ["hud_manager:spawnit:hud_enabled"] = "y", digged_nodes = "140841", placed_nodes = "183941", died = "1593", crafted = "4795", ["sethome:home"] = "(1983.4349365234,17.5,1183.5950927734)", partypvp = "true", yl_commons_player_joined = "1712970385", yl_audio_state = "off", ["ethereal:fly_timer"] = "-99", arenalib_watchID = "0", bitten = "0", ["arena_lib_editor.team_ID"] = "0", ["arena_lib_editor.players_number"] = "0", ["petz:old_override_table"] = "return {[\"speed\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false, [\"gravity\"] = 1, [\"jump\"] = 1, [\"sneak\"] = true}", ["3d_armor_inventory"] = "return {\"\", \"\", \"\", \"\", \"\", \"\"}", ["stamina:level"] = "0", ["arena_lib_editor.spawner_ID"] = "0", partychat = "party", yl_commons_thankyou = "1606", ["petz:werewolf"] = "0", arenalib_infobox_arenaID = "0", ["petz:lycanthropy"] = "0", yl_church = "return {[\"last_death\"] = {[\"x\"] = 1979, [\"y\"] = 18, [\"z\"] = 1174}, [\"last_heal\"] = 1707613077, [\"last_death_portal\"] = 1683839371}", punch_count = "65261", ["stamina:poisoned"] = "no", szutil_watch = "return {}", ["stamina:exhaustion"] = "75", team = "STAFF", ["petz:werewolf_vignette_id"] = "19", hud_state = "on", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", played_time = "106440362", xp = "0", xp_redo_hud_color = "0xFFFF00", ["ocean_build.last_warning"] = "1.67421e+09", ["ocean_build.forbidden"] = "true" } } ``` Log identifier ``` [MOD] yl_report log identifier = kOQvvQjvVozKmCrVdWI8vf88ltTdqocT ``` Profiler save: ``` profile-20240413T143618.json_prettyEE ``` Status: ``` # Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 21h 11min 37s | max lag: 0.621s | clients (26/52): 31_yu, AliasAlreadyTaken, Bailiff, Bingo, Boot, der_c_aus_a, gianlp, JinnyC, Joelchacko, LadYeauty, LadyPixels, LeetPeet, Lucien, Lucien_II, Murmel, Nomtom, Oakenshield, ondra, paulie420, pifo, playor, poppyasdan, Sandra, Service, Shismu, valli ``` Teleport command: ``` /teleport xyz 1974 12 1092 ``` Compass command: ``` /give_compass Construction kOQvvQjvVozKmCrVdWI8vf88ltTdqocT D2691E 1974 12 1092 ```
AliasAlreadyTaken was assigned by yourland-report 2024-04-13 14:36:18 +00:00
Member

And why do not build a copy of that post office and when you go downstairs you will be teleported to there and back? So below the guild palace is just nothing?

And why do not build a copy of that post office and when you go downstairs you will be teleported to there and back? So below the guild palace is just nothing?

Because I don't like teleport for game design reasons.

If teleport was an option, we could also have a city in the sky with player plots and similar.

It is not the postoffice per se that is lagging us, it is the signposts. Those need to be dealt with.

Because I don't like teleport for game design reasons. If teleport was an option, we could also have a city in the sky with player plots and similar. It is not the postoffice per se that is lagging us, it is the signposts. Those need to be dealt with.
AliasAlreadyTaken added the
1. kind/enhancement
3. source/lag
4. step/discussion
labels 2024-04-13 15:34:14 +00:00
Member

that might help, but we'd have to test things. note that this wouldn't do anything to reduce the complexity of what is displayed and sent to clients, though. signs are heavier than most other entities because they're made up of compositions of images of every individual letter, and that would still be the case.

this would also make it harder to implement this idea (not sure if it has its own issue), which i think is more promising.

that *might* help, but we'd have to test things. note that this wouldn't do anything to reduce the complexity of what is displayed and sent to clients, though. signs are heavier than most other entities because they're made up of compositions of images of every individual letter, and that would still be the case. this would also make it harder to implement [this idea](https://gitea.your-land.de/your-land/bugtracker/issues/5234#issuecomment-62943) (not sure if it has its own issue), which i think is more promising.

Or big transparent images, like this one
signs-as-image.png
(sure can be cropped better, this is just demo)
So 1 image per 7x3 area. Or even bigger images - less nodes.
Size of this demo image is less than 6 KB.

(and you can decorate it :))

Or big transparent images, like this one ![signs-as-image.png](/attachments/6a7fb796-1117-4e17-8e1c-9ffdf5e91428) (sure can be cropped better, this is just demo) So 1 image per 7x3 area. Or even bigger images - less nodes. Size of this demo image is less than 6 KB. (and you can decorate it :))
Member

Or big transparent images, like this one

oh i see, hard-code the rendered image instead of composing it. hm.

but that means we'd only get post-office sign updates once every 3 or 4 months?

> Or big transparent images, like this one oh i see, hard-code the rendered image instead of composing it. hm. but that means we'd only get post-office sign updates once every 3 or 4 months?

Hmm what about NPC ? No need to have signs, just NPC with compasses :D But then problem is how to tell it to NPC... maybe text input? (player name)

Hmm what about NPC ? No need to have signs, just NPC with compasses :D But then problem is how to tell it to NPC... maybe text input? (player name)

Or big transparent images, like this one

oh i see, hard-code the rendered image instead of composing it. hm.

but that means we'd only get post-office sign updates once every 3 or 4 months?

Not if we upload a new png via dynamic media in case something changes. Which is pretty rare

Might be a solution for all signposts that rarely change

Problem is to render the stuff into a fitting png

> > Or big transparent images, like this one > > oh i see, hard-code the rendered image instead of composing it. hm. > > but that means we'd only get post-office sign updates once every 3 or 4 months? Not if we upload a new png via dynamic media in case something changes. Which is pretty rare Might be a solution for all signposts that rarely change Problem is to render the stuff into a fitting png
Member

Problem is to render the stuff into a fitting png

personally i'd rather try to implement my idea where entities disappear if they're more than 8 nodes away from a player.

and this discussion is making me move that up in my mental list of priorities.

> Problem is to render the stuff into a fitting png personally i'd rather try to implement my idea where entities disappear if they're more than 8 nodes away from a player. and this discussion is making me move that up in my mental list of priorities.
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: your-land/bugtracker#6641
No description provided.