I'm not sure how to contribute to this thread, but I do agree with all of you. There is so much useful information in these forums. and the forum being inactive risks all of it being deleted, which would be a tragedy.
Also, as I've mentioned here if higher render distances are intended to be practical to use for general gameplay the game really needs to implement "level of detail" rendering, where increasingly distant terrain is simplified, first by no longer rendering blocks like tall grass or effects like smooth lighting, then replacing multiple blocks with simplified models that roughly match the colors of the blocks they represent, all the way up to up to rendering entire chunks as simple cubes:
Have you ever considered forking your own mod and experimenting with a LOD feature similar to FarPlane 2 and Distant Horizons?
Depending on how easy it is to access the distance from the player, you could implement simple things like removing decoration blocks after a certain distance like in the linked thread.
If a moderator/support doesn't mind, I would like to change my forum username to 'Time Traveler' if that name is already taken, here are some alternatives in descending order:
I'm pretty close to finishing my mod-pack, but there is little information on how to distribute it outside of curseforge. Is it legal to to upload a folder full of the mod jars:
And while this is only speculation, I'd make a wager that the majority of the community these days is more casual and less willing to interact at a high level on a forum in 2023, versus the more "hardcore" or "dedicated" or "PC enthused" or whatever you'd call it community from back then. What spurred the forums back then was the dedicated part of it during its huge blow up phase.
Mojang has been marketing Minecraft less and less for "all ages", and more for "kids". So I wouldn't be surprised if that had negative effect on the forum.
The reason is because every part of an entity requires a separate draw call and these are expensive; a chest requires that the game tell the GPU to render three separate pieces; a chicken has 8 separate pieces, and so on. Worse, the game needs to switch between textures, which is also expensive, when rendering an entity and its shadow, as well as any equipment it has (the game stitches all block textures into a single texture atlas precisely because each draw call can only reference one texture at a time).
To illustrate just how different block and entity rendering is, all blocks can be rendered in as little as 3 draw calls (at least in 1.6.4, when Fancy graphics, or translucent blocks/water are enabled; Fast graphics only requires 2 draw calls, plus a handful of OpenGL state changes):
This code mostly decides if a chunk section is to be rendered and adds it to a list, when is then sent to the GPU to be render everything on screen - using just one draw call (glCallLists) and three OpenGL calls in total (glTranslatef, all at the end of the method). Translucent blocks are similar except they have an additional draw call to render a "mask" which is used to eliminate graphical artifacts like those described by MC-38022 on Fancy graphics (the only issue is that you can't see translucent blocks behind other translucent blocks but that doesn't bother me anywhere near as much as the very obvious artifacts as described in the link, which are also less severe in 1.6.4):
private int renderSortedRenderers(int par1, int par2, double playerX, double playerY, double playerZ)
{
if (!this.fastRender) return renderSortedRenderers_old(par1, par2, playerX, playerY, playerZ);
this.glListBuffer.clear();
int var6 = 0;
boolean var7 = this.mc.gameSettings.showDebugInfo;
int x = MathHelper.floor_double(playerX) - 8;
int z = MathHelper.floor_double(playerZ) - 8;
for (int var8 = par1; var8 < par2; ++var8)
{
ChunkRenderer var9 = this.sortedChunkRenderers[var8];
if (var7)
{
if (var9.skipRenderPass0 && var9.skipRenderPass1)
{
++this.renderersSkippingRenderPass;
}
else if (!var9.isInFrustum)
{
++this.renderersBeingClipped;
}
else if (this.advancedOpengl && !var9.isVisible)
{
++this.renderersBeingOccluded;
}
else
{
++this.renderersBeingRendered;
}
}
if (var9.isInFrustum && !var9.skipRenderPass0 && (!this.advancedOpengl || var9.isVisible))
{
if (var9.shouldRender(x, this.playerHeight, z, this.renderRadius1, this.renderRadius2))
{
int var10 = var9.getGLCallListForPass0();
if (var10 >= 0)
{
this.glListBuffer.put(var10);
++var6;
if (var6 >= MAX_GL_LISTS) break;
}
}
else if (var7)
{
++this.renderersBeingOccluded;
--this.renderersBeingRendered;
}
}
}
if (var6 > 0)
{
this.glListBuffer.flip();
GL11.glTranslatef((float)(-playerX), (float)(-playerY), (float)(-playerZ));
GL11.glCallLists(this.glListBuffer);
GL11.glTranslatef((float)playerX, (float)playerY, (float)playerZ);
}
return var6;
}
By contrast, this is what the game calls to render every single piece of an entity - in the extreme case, horses have 39 pieces (and were likely simplified in part because of how demanding such a complex model is - one of the only times I experience a lag spike while playing is when a horse renders for the first time, due to the cost of constructing its model (it doesn't help that it combines multiple layers of textures), which isn't compiled until an entity is rendered for the first time):
As an illustration of just how costly entity rendering is, 100 chickens has a bigger impact on FPS than going from a default Superflat world, with only a few chunks in view, to a normal world at maximum (16 chunks) render distance, or even in a "mega forest" biome:
This is also why the game is fairly aggressive on entity culling; chickens only render up to 28 blocks away (the distance is based on their size) and the server doesn't send most entities to the client unless they are within 80 blocks (does the "entity distance" slider affect either of these?); in the last two examples above the client isn't rendering any entities despite there being around 400 loaded server-side and around 100 client-side (the "mob counts" is server-side while "E:" is client-side).
Pardon me if I didn't fully understand, but I thought it was possible to combine the different parts of the model to make a single mesh, so that it only takes one draw-call per entity.
Has Mojang overlooked this, Or is there some reason why the can't?
The Nether Update introduced ambience for the update's biomes. But there are around 3-5 of the same sound with different pitches and volumes, which feels like wasted space.
Example that I found:
What I Suggest:
Have one "base" ambient noise, and then modify the pitch/volume/distortion by a random value during runtime. This would speed up download times, and also make the ambience more unique.
0
I think there should be an in-game datapack creation menu.
0
1.12.2, simply because there are no good mods for 1.8.9...
1.8.9 may seem like a weird choice, But the movement in 1.7.10 just feels clunky to me.
Sorry that I haven't been active lately, just haven't had time until recently.
1
I'm not sure how to contribute to this thread, but I do agree with all of you. There is so much useful information in these forums. and the forum being inactive risks all of it being deleted, which would be a tragedy.
0
Yeah, but you get you pay for: The worst version of bedrock edition.(It will suck your battery life like nothing)
0
Support
0
Have you ever considered forking your own mod and experimenting with a LOD feature similar to FarPlane 2 and Distant Horizons?
Depending on how easy it is to access the distance from the player, you could implement simple things like removing decoration blocks after a certain distance like in the linked thread.
0
"Render Regions" can sometimes cause bad performance depending on the spec, have you tried disabling that?:
1
Master_Of_Time is fine, thanks for the change!
1
Mostly because the forum filter is more suspicious of newer accounts.
I will consider it though.
1
If a moderator/support doesn't mind, I would like to change my forum username to 'Time Traveler' if that name is already taken, here are some alternatives in descending order:
'Time-Traveler'
'The Time Traveler'
'The Time-Traveler'
'Master Of Time'
0
I'm pretty close to finishing my mod-pack, but there is little information on how to distribute it outside of curseforge. Is it legal to to upload a folder full of the mod jars:
If not, then how is it usually done?
0
32326
1
Mojang has been marketing Minecraft less and less for "all ages", and more for "kids". So I wouldn't be surprised if that had negative effect on the forum.
1
Pardon me if I didn't fully understand, but I thought it was possible to combine the different parts of the model to make a single mesh, so that it only takes one draw-call per entity.
Has Mojang overlooked this, Or is there some reason why the can't?
2
The Nether Update introduced ambience for the update's biomes. But there are around 3-5 of the same sound with different pitches and volumes, which feels like wasted space.
Example that I found:
What I Suggest:
Have one "base" ambient noise, and then modify the pitch/volume/distortion by a random value during runtime. This would speed up download times, and also make the ambience more unique.