#Project S-812
1 messages · Page 2 of 1
wdym
I used to have utter respect for Unity. Until this.
same
There is sorting by CPU by default
Here it is sorted by cpu what if you sort by gpu, maybe you can see somethig new?
I wouldve chosen unity had I not been too lazy to learn C#
possibly
Ill have to redo it to find out
any language (even brainfuck) > c#
one of my texture artists
knows brainfuck
and toki pona
all that
but they dont code
I used to work with like 6 programming languages, C# is one of them, and i still stick with Godot. Learning new things isn't the issue
except scraatch
they use scratch
as an art software
deadass
and its actually good art they produce bro
its insane
scratch....
Scratch
I still love it tho
the kids learning website
If it works it works
I'd show you but id reveal everything about my game
After attempt to make game engine on C++ and OpenGL, i'm fulfilled with love to everything
bottom left
that logo?
entirely made by him
in scratch
I just touched it up slightly for use in godot
I dare not attempt what u just said
Sounds great
thats bold
I still have sources available on my GitHub
to make an engine
That was my introduction to game-dev
I learnt a lot
Linear math is the main thing i'm really thankful for
Screenshot?
That's bottom, what's up on the top with GPU sorting
We all pick our own poison and get disappointed in it at certain point of time
debug_physics_hell...
It is literally what it is said
lmao
wtf are those nodes?
ive never seen those before
I was like Bender from Futurama
"I will make my own nodes, with blackjack and logic"
I dont use classes bc I dont know much abt em
Yep
Hmm wait why does it...
I dislike the boilerplate
Are there any things that use the right column more than left one?
id assume this
Yea, but more specific ones?
I can't believe it is just spitting facts like "ur scene is shit it is rendering too slow"
I hope for more info
If it doesn't have anything, i can tell that we are in that torturing hall for a longer time
LMFAO trueee
Ive never seen a debugger do that before
Lord have mercy
this is for one viewport
in my game I have mirrors
its not in this scene
but it will be in others
which means two cameras
double the lag
Also, other scenes have issues like that?
honestly
this is the only actual level
i have in the game
others are test scenes
Alright i just wanted to say
so none are fancy except this one
I have a really weird thing
m_day1_1 in my game is the first military operation the player will participate in
Lmao i love it
And i still trouble of optimizing it
this level
Lol yea
fitting into teh storyline of my game
is the 3rd map
each map
is
MASSIVE
bro
I have such an eye for details in video games
one of the maps is planned to be an interior
I already have it blocked out in my mind
I have m_day0_* levels, which is making the m_day1_1 not even first level in game
oh
one of the biggest maps
in the game
is going to be this map
and the 2nd map
1st one cant compare
i cant show u the first one bc it looks like shit honestly
so I gotta redo it n stuff
I have that feeling for all levels in my game
Im planning to do some openworld activites at some point
so a few levels
would juts be
ginormous
& others are smaller
and more linear
My locations are mainly small enough
But m_day2_poor_zone is the playable one where player will take a role of citizen
And it is kinda huge, many "zones", i even made a node that is optimizing the game depending in which zone you are at
Like, if you enter one zone, another one gets unloaded
And if you enter another one, it gets loaded back and other ones getting unloaded, etc
Lowering drawcalls, lowering node count, as well as physics overwork
I still wish to make other 2 locations like that, but, damn, getting so much issues with technical part i didn't expected to get
It is not even about loading
It is just about adding and removing children
I love removing children
Not in real life tho
I remember watching a vid about story of task manager
At certain point you could kill children with it
Which meant killing child processes, but you know what sounds more fun
... and horrible too
this is a sentence
welp
optimization hell
just stuck here until something happens
bc I dont know wtf to do
im waiting til 4.2 comes out to see if maybe it fixes anything
I love making theories to check, so gonna be around
Also, wanted to ask...
You said you have settings menu? Does it interact with WorldEnvironment by any chance?
it does but only after clicking the apply button
But i wonder if it is still doing the crazy settings
Also, i wanted to say that editor viewport is usually smaller than game one
wdym
Options menu shouldnt do anything like the lag in here
I wonder, how much it is going to change if you will make it a little bigger
wide
Nah i mean if it is changing the parameters in that way still. I'm pretty sure it doesn't apply any settings and it's good, just wondering if it is still using old values
It is killing my mind
Godot why
Alright also...
You said you have post-processing, like, separate CanvasLayer, with ColorRect, etc, right?
yeah
only abou
two or three
lens flare
vignette
and damage gradient
I have like ~10 and it doesn't do that
Additionally GPU profiling shows that canlas layer processing doesn't use much in your case too
hmmm
Do you have a way to lower resolution in game?
yes
I really hope you see the issue here
What did you do
the background
The sun? No background?
Actually you just remind me of one thing...
I remember that Godot has issue with rendering huge objects
Damn man i feel really sorry for background
2nd screenshot with only the sky background turned on (these are things that are high up)
I refuse to believe this
I REFUSE
to believe this
I refuse to believe this too
Out of everything in my scene
I spent the most time
on the background
Im so insanely upset right now
the cyberpunk buildings
are what is causing thios
Im so impossibly pissed off
both of the fucking buildings are lagging
oh
my
god
I wonder what is going to piss me off in m_day1_1, i'm still investigating some things
But damn this thing tells me nothing good
Sometimes i think that to fix the lag you gotta rework the entire thing to occassionally find out
im this close to deleting this level and redoing it
To just see such stuff
Man i know you'd probably kill me for these words but can you turn these buildings to a 2D texture somehow?
And place the planes far away instead
?
I already did
there was 30 cyberpunk building plates
now theres only 6
😭
._.
Theres a MASSIVE error generating
due to multimeshes
I feel I know the cause
I believe its because I removed the floor that the meshes were scatted on
*scattered
Actually, these errors may do the lag too
Because the normal buildings
dont generate the error
see it stops here, and these buildings have a floor mesh still there
Man that FPS is going to burn your GPU up
its a GTX 1650
it never hits 1K fps
let me feel the happiness 😭💀
Why floor though, i don't get it
I never worked with multimeshes yet because i didn't have had cases to use them
Basically, it reduces the draw call from a potential 5000
to 5
if I place 5000 buildings
with the same model
I know, instancing
But i never needed instancing for now
it needs to instance
on a mesh
but what I did is delete that mesh
which it was instanced on
like a complete idiot
this was weeks ago
And you had no issues back then?
none at all
Im gon do this 128 per building model
Now i get it
Damn
This is one of the reasons i hate human factor
I try to make tools to avoid it
And support of the tools now becomes another fucky human factor
ok maybe the larger buildings could be 64
Lmfao true
What did I miss and why are you on 1000+ fps now...
We overcloaked his GPU, now we can do british tea on it
Jokes aside, it is just one little prefab scene, fixing the actual one yet
The cause of the issue is the background buildings
To be more precise - damn multimeshes
what was wrong with the multimeshes?
ok now all of the buildings are massive
The target node has been removed
My building is big is very very big
this is fine actually
british tea
so I did this for no reason
Truly british tea!
44 fps? Man, i know screenshots can occasionally lower it but...
actually
yk what
its a good thing I did that
its taller
fits more the feel of the game
and uses less instances
Pro-dev move
What is all the video memeory used on?
How
use new thing
how
waht you mean by how?
how to access it
The scene itself isn't using that much textures in my opinion
Performance one has it
But you gotta to divide it by some number to get megabytes
938 mb
value = Performance.get_monitor(Performance.RENDER_VIDEO_MEM_USED)
value /= 1024
value /= 1024
value = floor(value)
change_data_value(
"Videomemory",
str(value) + " MB"
)
The memory shown in HUD is probably RAM
Kinda
I love it when I try to fix something
realize that something wasnt the cause
and ended up making something better
It shows both ram and video no?
look at the difference in this scene
its so much more
idk
It has a feel
more to it
I can't be sure
than it had previously
lol
what if you convert all the far building to flat planes?
Cant do that without it looking like shit tbh
wait
define far
bc if u didnt notice that most of them are planes
then I did a really good job
I didn't notice it yet but i've not played the game itself
I'd probably notice something in parallaxing but at the same time it's easy to fool me around
I didn't notice
Lovehow this looks
how far away before they convert to planes?
I made the scene darker
most of them are planes
damn...
what graphics card do you have btw?
like this back here
GTX 1650
exception made for this plane here
i5 9300K as well
8gb of ram
unsure of the VRam
Ill see if I can pull up my specs rq
prolly 4 or 6 gb
valorant had me fucked up if u were wondering
dont think I need to elaborate for yall to know where that went 💀
like you punched it?
GPU PROFILE (total 53.569ms):
-Prepare 3D Scene: 0.19961538681617ms
-GI + Render Depth Pre-Pass (Parallel): 2.13207685030424ms
-Average SDFGI Probes: 1.27888444753794ms
-Render GI + Render Shadows (Parallel): 9.89026935283954ms
-Process SSAO: 1.42646158658541ms
-Process SSIL: 2.4105768937331ms
-Render 3D Cluster Elements: 0.01034615590022ms
-Render Fog: 0.03576923792179ms
-Integrate Fog: 0.01346153823229ms
-Render Opaque Pass: 0.10911538050725ms
-Render Sky: 0.7722692489624ms
-Screen-Space Reflections: 1.42496153024527ms
-Copy Depth Texture: 0.08226921925178ms
-Render 3D Transparent Pass: 2.14269227247972ms
-Copy Final Framebuffer (SSIL): 0.39961532446054ms
-Tonemap: 1.36726936927209ms
-Glow: 2.09334608224722ms
-Render CanvasItems: 2.55584599421575ms
extreme lag on here
53ms
no clue why
ok...
that was quite somet ime ago
im a better person than that
but in all honesty
if u saw what happened that game
youd understand why
How many lights do you have in the scene?
three
since shadows is nearly 10 ms
-Render GI + Render Shadows (Parallel): 9.89026935283954ms
This is the biggest one and... it doesn't add much to total time .-.
Shadows don't seem to be the issue
I think this lag spike happened
bc my pc ran out of ram
for a split second
while opening razer cortex
but like 9 ms on shadows?
Rookie numbers in comparison to total time of 53 ms
this is the laptop ive got
why tf is it saying middle east???
Actually, i never thought of that. How much free RAM you have while running the game
neither have i
let me check
Looks about fine
windows doesnt let me screenshot
gpu dying
lmao
how much of the video memory is used?
But we need tea
Also regarding the GPU memory... How much much resolution of used textures?
actually even more important, are you passing anything (most likely) from the cpu to gpu, cuz you really want to limit that alot
"much much" damn my brain is dying send help
I wonder if I can make a good looking nighttime scene
not through code I dont think
not too high
How much textures
1024? 2048?
max it would be for any noise texture is 1024
no uniforms or anything?
Maybe Godot itself is reserving GPU memory for something
I'd expect that for voxels and stuff
But they are not used in here
is SDFGI voxels?
Not really i think
It's more about raymarching and etc
VoxelGI on other hand...
But you know it is not used
Yall prefer the sunset version or the night time version
haha yea
Right now it would be sunset but if the detail was more detailed prolly night
I already had a night sky
git?
I dont push to github that often
and I didnt set up git as yet
even tho I shouldve
I'm trying to make new commits almost each hour or on each completed task no matter how big it is
Saves my ass sometimes
I even managed to revert the changes to year old version
In decals class... But anyway
Wait why
mostly bc of the reflection changes
still need to get that 60 tho
oh well
im sure ill find something to fix it eventually
yee
whats ur specs if u dont mind me asking
AMD Athlon, 2 cores, 3.00 GHz
Nvidia Geforce GT1030 (GDDR5)
4 GB RAM
is this real
2 cores???
4gb of ram????????????????
is that good specsor bad
Man, i knew one guy from USA who said me that he could find a better PC on junkyard
the shit uve done with those specs are truely a feat
But here, in Belarus...
Welcome, welcome to Belarus. You have chosen, or been chosen...
Eastern europe, neighboring the Russia and Ukraine. Has the most fucked up politics at this region. Don't even look up for 2020 protests
jesus christ
neighbouring russia and ukraine yep i'd expect the politics to be properly fucked
President rules over that place for 27 years
Lmao i love it
just googled belarus and that is
I can do things with these, and i do them. But i remember getting a bad mood when my friend said he had 300 fps in gm_post_ussr, when i had 60-80 fps for the most part
one of the fanciest architectures ive seen
is gm_post_ussr ur game
or a garrys mod map
Minsk can be pretty
Garry's Mod map i made, yea
It was a ~7 months project, i made all assets in there on my own
damn
I removed it from workshop because i don't want to be a part of that community anymore for sure
Nobody used to care about my name anyway
I love to be in shadows of things i made too
So having someone reuploaded it is better option for me
And, sadly, nobody that much will know about this
I mean, who really cares about story of development, and about optimization too if the game runs well
Everybody notice optimization only when they have problems
great storylines are underappreciated when the gameplay is insane
My game definitely has none even after year of active development lol
Gotta complete it still
neither has mine
just a general idea
The only difference is your project just getting started basically
In my case i have like ~80 locations in my game, many of them are for debug purposes
only abt 2-3 months of dev
mostly me doing the work
The game can be potentially started, and completed, if fixed everything, and added some missing locations
since im the only one mostly familiar withgodot
im getting started on getting the rest of the team
in particular the only other programmer on the team
to learn godot
But... I still feel that i'm not doing a good job with literally anything. I guess it's perfect time to stop caring about it all and just doing everything to complete it fast
That is sad
the moment when u export a .glb for godot but realize you chose the wrong path now you need to wait 5 minutes for it to export justfor you to delete it and re-export it on the correct path
ehh not really
I enjoy working alone mostly
it is better to have someothers helping tho
example
those vents models
were made by another member of my team
& that solar panel texture was also made by one of my artists
I can't recommend making plugins in Blender though, it's weird
im speaking like I run a business but we're just a bunch of teenagers doing random shit
I dare not attempt it
its in python for one
I dont like python much tbh
But using GDScript which is modified Python?
yeah
I love that logic
gdscript is fine
but python vanilla
feels
idk how to describe it
yk what i mean
There only thing i don't like in OG one is True False None namings, otherwise it is totally fine
I use javascript for things I could do in python
like making a discord AI
I mean ofc javascript is the better choice for that
bc of discordjs
but python is more geared to ai
im a lil bit biased i think
to anything but python
At this point i'm not even sure about purpose of these languages
Like, i used them all, and still not sure
side note: the AI is uneccessarily sassy
fr
Even remember making a Discord/Telegram bot on my phone (hosted on it too) with Python, it was kind of nice
The only thing i understand, that i just use the language i need right now, i mean, it doesn't really matter how to shoot the leg
Ah yea, btw, i think you wondered how script functions look like for me
Trying to analyze spikes and etc
jesus christ
Some of them can't be fixed, some of them i neglect, some of them were removed
Mostly i ignored many of these
I try to always keep my errors as small as possible
I get no errors except for 1
Of course i fix them from time to time
1 which I cannot change because it always happens upon game start
but it affects nothing about the game
random q
whats the best system for file organization
It reminds me of rotref_posscale_decomposition one, it doesn't do anything, but if you have NPC, it will give this one. Or "sync" for navigation mesh, it does nothing at all, but exists and annoying me
I still can't figure out
Nav meshes are supposed to be
much more efficient
and faster in 4.1
so ive never experienced that issue
I think they completely rewrote it
Mainly i had something like that. My entire game consists of "modules"
Some of them are just tool-like things, some of them actual systems, some of them are just unique nodes, etc
Each of them may have code or/and assets
I'm not sure if it is the perfect one, but i'm still alive with it so...
Maybe it's decent
Can't be sure still
I am 100%
going to move to ur system of organization
bc compared to mine, yours is 1000 times better
I remember having this in my 2 Unity project and in 1 Godot team project, and, yea, it killed me all times
im pushing to the repo
and im gon reorganize everything
bc that shit
is so clean
Mainly why do i love that idea with modules is that i don't even ask myself where to put assets
beuatiful
Imagine
when 4.2 rolls out
with it's colorable folders
how amazing it could be
Heh damn that'd be nice
the PR for colored folders is out already
I've seen one guy working on special addon to organize scripts in editor
I'd be really happy to get one for myself in 3.5x
Because... i mean, i can RMB and close all, but still
Gotta close btw
This is how perfect code looks like
perfection
I prefer middle click tbh
I should ask
do you mind if I actually copy ur style of organization?
Damn, thanks, i didn't know about that
Sure thing
works in shader editor too
ty
is it by chance inspired by how gmod and source do their organization?
bc I recognize a lot from it
Yes and no, it is something i decided to go with over time
neat
I shouldve started with organization when I fist made the project
*first
what is with me and spelling errors today
But i gotta say that i really love that Source prefers doing more things in code, loading resources in run-time, making it extensible, flexible, and so god damn blind
it does?
only experience I have with source
A lot, really
interesting
it sounds cool
I am afraid
last time this popped up all my scenes were corrupted
I hope you can revert the change for single file
I pushed the entire thing
to the repo
so I can just revert everything
if i need to
I'm inspired by Source in terms of making the level design tools too, this is why i prefer nodes over prefabs. It is both good and bad, idk
oh whats a prefab
Basically what you do when you drag the scene to your currently edited one
I'm not against using prefabs though, because it is pretty flexible way too
And easier to make because it is supported by default
ahh
I feel I might download that PR build for file colors right now tbh
The pain with making nodes for everything is... Firstly, any new node you make with that "create new node" window is made at [0, 0, 0], so to fix this i had to make a bunch of plugins lol
Sounds nice
oo interesting
I prefer my drag and drop still tho
And i recommend staying with it
My methods prove to be problematic, yet i'll stay with them because i already have pretty much all needed toolset
I shot my leg, yet happy with it somewhat
lmao
I feel I might change a few things to make my game more modular as well
such amazing texture art I can do
Lmao i'd see someone digging in files of the project and see that for first time
I never knew just how unorganized and shitty some of the code is before I started this
this is in the game files
this was used as a test puddle roughness map
I love how that puddle is loading
I still discover it from time to time lol
And attempting to fix it when i can actually do that
Perfection is not the limit
going to use classnames as well
Welcome to custom nodes!
这个画面太酷了!
Thanks!
google is tracking us bruh I just got a recommendation on yt about lag in games
Man i wish Google told me how to remove collision shapes
💀 wdym?
Because i've been looking for the 3 lines of code for a year
whywould u need toremove col shapes
I remember sending you a code snippet that allows to remove a node of CollisionShape while keeping collision itself
According to statistics, it is the biggest contributor to node count
And it gets worse for complex dynamic props which have multiple convex collisions to form one for prop
Sounds great
question
is that even possible?
or just a theory
I mean it is
obv
but with 3 lines of code?
can u resend that
It is more complex really. In my case i had to repeat these lines for each case when i initialized collisions. For static objects, for dynamic ones, etc
hmm
maybe 4.0 introduced something wacky
that I can probably use
and then reconvert
into 3.5 code for u
big maybe
var static_body: StaticBody
# ...
var owner_id = static_body.create_shape_owner(static_body) # Register owner ID
var col_shape = static_body.get_child(0) # I had only one CollisionShape, so i'll get only one child
static_body.shape_owner_add_shape(owner_id, col_shape.shape) # Add shape for collision
col_shape.queue_free() # Remove CollisionShape since it is unneeded now
Somewhat i have a feeling it doesn't even change in 4.x but you gotta try first
step by step what does this do
Basically main principle is getting physical body, registering owner ID and adding a shape to that ID
would a shape not be a node?
I reckon I could make it so that it works with static, rigid and kinematic
in 1 script
rather than separate scripts which I assume was the case for you
or maybe I misread and misunderstood
3 lines doesnt seem possible
- Static body, you get it for example
- You create a shape owner in this body, this gives you an owner ID you will use later
- You find a collision shape. It can be one, it can be many, in this code snippet i've got only one
- You add a shape to shape owner (providing owner ID). The shape itself is not a node, it is a resource you can use.
CollisionShape's have it asshapevariable - You remove the
CollisionShapebecause it is obsolete
Main logic happens in these 3 lines, but it can be more depending on use case
u have the lines tho so im a bit confused
Yea it's separate scripts for me, because i have special logic of initialization of all objects
Basically i said line by line what it does, up there
This is the treasure for me
interesting
is it possible to just do a loop
of each child when the game starts
and check its type?
or loop all nodes in a collision group?
Basically you can iterate through all nodes of a scene and launch that kind of logic
*iterate through all nodes recursively
It sounds like that one code i sent you to analyze the node count, except, in this case you find the physics bodies, find all collision shapes they use, and apply the logic on them
Depends on case. For example i had a node that combined almost all static bodies to minimum possible amount, yet that caused physics overhead
dam
lmao bro u aint gon believe this
idk what I did but it ups the node count instead of lowering it
I believe I fixed it
there we go, went down from 2500 nodes to 1400
working on improving it
?
Looking great Keep it up 🙂
:D
This is not looking right, or is it?
Haha yay
I forgot to clear the children array when this happened
it works as intended now
really nice
It scared me a little, but good to know!
@unique hill are you planning on adding AA?
Anti Aliasing?
For a very odd reason, antialiasing on my machine just stops all rendering of anything
so its disabled for now but i'd love to implement it at a later date
very much so
HAHA
look at that
50 fps
gorgeous
just need another 10 now
I technically did it
I just made the default settings slightly lower
so that means
i technically reached my goal
of 60 fps default settings
what's your computer spec?
GTX 1650, with an Intel i5 9300K I believe
8GB of ram as well
1650 has 4gb VRam
and what's your target for minimum system requirement? because your spec is a standard ones and if you got 60 fps, you need at leas 5X more to implement logic etc
wdym atleast 5x more to implement logic
my target minimum system requirement would ideally be my own specs or something a tad bit lower
I dont have that good of a pc
its a laptop
few years old
gaming laptop but has mildly old hardware
I mean do you implement some logic in your game or it is only 3D feature testing?
it is a game
it has gameplay
all the systems a game needs
options menu, pause menu, startup animation, etc
movement n stuff
Yk kinda both
Its a game but Im also using it to perfect high end godot graphics
whlist having a stable fps
you need some room for crowd scenes if you have something like that in your game
Ive got a decently good laptop
for example if you can get 120 fps you will have 60 fps in future for things that you don't predict currently
ah fair
I will be adding a max fps option too
Good example. In my m_day1_1, i have ~30 fps during the start shooting, where ~12 NPCs participate in it. When you enter "wait" section when nothing much happens, it is 50-60 fps. When "battlefield" section happens (~7 NPCs), it is 40-50 fps
Number may seem to be low, and i agree with that, but my specs are really bad and it was challenging enough to achieve even these ones
you can use this website to compare GPUs and choose minimum system requirement sooner than later, because SDFGI is a too demanding for GPU and should consider it:
https://www.techpowerup.com/gpu-specs/geforce-gtx-1650.c3366
I will ensure I make atleast
120 fps
or 80 fps
just to have frames left over
It's a good idea. I currently try to remaking DUSK E1M1 and I use Godot 3.5 and its light mapper and I got 300 fps but in crowded scene it drops to 70 fps because of shooting, particle effects and some gibs!
i should start to focus more on the story
rather than having a fully fleshed out game with awesome mechanics
and zero story
Hey pal, i'm not sure if i need to suggest you this but...
This tool helps to analyze rendered frame of your game. You may tell me that Godot already has GPU profiling, but this tool may expose you the deepest GPU operations and other stuff. You may need to take a look on some tutorials to get started, this thing is confusing. Why am i telling this? You may be interested to know what exactly uses your VRAM and so on.
:OOOO
honestly
the multimeshes are surprisingly a major contributor to the lag
I need to find a way to optimize those
without sacrificing quality
Exporting them as GLTF and placing it instead?
Actually you said me that you tried turning them to MeshInstance3D
Nevermind then
I did that originally
I never measured the fps when I did that tho
will try again maybe
Make sure it is forming huge clusters or something like that
I'd recommend splitting it in parts to make frustum optimization more effective
But even keeping it as one singular mesh can do some changes to performance anyway
I shouldve kept it as one mesh then
I used geometry nodes in blender to scatter it about originally
It is both good and bad thing, but i'm not sure, i'd really like to see numbers first
Do you test this in your game:
https://docs.godotengine.org/en/stable/tutorials/3d/occlusion_culling.html
In a 3D rendering engine, occlusion culling is the process of performing hidden geometry removal. On this page, you'll learn: What are the advantages and pitfalls of occlusion culling., How to set ...
this is active in my game
ok so you will have hard time for optimization 😂
By the way, you've written almost all necessary info of Performance class, can you also add "vertices" data on it?
It can tell how much of them are you rendering
I know that you can see it in editor, but i'd see the numbers in-game out of interest
Im not quite sure what the property value for that one is
Let me check
when I was tabbing to autocomplete, I didn't find a vertices property or similar
Performance.get_monitor(Performance.RENDER_TOTAL_PRIMITIVES_IN_FRAME)
What a weird renaming though
I've written this according to 4.1 doc
that name
That name is weird
how is that even related to vertices
I would 100% assume if I wasnt told otherwise
that that property is for primitive meshes
I can't believe this too
like cube, sphere and other shit
Alright, also, if we started, RENDER_TOTAL_DRAW_CALLS_IN_FRAME and RENDER_TOTAL_OBJECTS_IN_FRAME can be useful too
I have total nodes
It should be, but we will see values
Yep, that's good because a lot of nodes can cause issues with CPU performance. Currently you have heavy GPU usage (for any reason), and these ones can tell how much things you actually render. As i understand, draw calls is different from objects simply because you can render one object and it will need more than 1 drawcall
But you know what, i'm not sure, let me check what that thing is showing me
Yea, you see, Godot renders 39 objects, and it results in 82 drawcalls. I assume that one object is, for example, 1 MeshInstance3D, that has a mesh, that has more than 1 surface, meaning more than 1 draw-call required for it
Sure thing
I coded a fancy thing
what do you use for ur render vertices?
in 3.5
Performance.RENDER_VERTICES_IN_FRAME
It is really weird they did this change
and yet draw calls stay the same???
Yep, seems so
I'm still not sure why they didn't do triangles
Like, it may be more useful to know how much triangles are rendered
Simply because OpenGL/Vulkan/DirectX/etc use this primitive for almost all use cases
423407 as result
Yea
no decimals
Since no floating point, your logic has a point
you reckon its changed bc of vulkan?
Gonna add it in my debug info, may be useful
Not really sure, it shouldn't affect it that much, however i've never used to work with Vulkan and i know that it is really, really low-level for the sake of asynchronous stuff
Your logic might be good simply for one reason: All geometry in Godot (and as it follows in runtime) consists of triangles when it is going to be rendered
Exceptions are probably things like immediate meshes, which i'm not using much in my game anyway
oooh my pc just ran out of memory 3 times
I think blender tried to render like
50 million tris
or sum
???
whats an immediate mesh?
What is it?
Ive never used it
I tried to scatter about the building meshes
for a building plate model
but
I forgot to lower the density
before I connected the collection in geometry nodes
so it just
dies
In really old days, OpenGL used something like...
glBegin()
glColor(1.0, 0.0, 0.0)
glAddVertex(1.0, 1.0, 1.0)
glAddVertex(1.0, 0.0, 1.0)
glAddVertex(1.0, 1.0, 0.0)
glEnd()
So, basically, immediate mesh allows to do something like that. I personally use it for debug gizmos
Reminds me of using remesh modifier on pretty decently sized geometry
Yep, and slow, so it got replaced with vertex buffers and stuff
A single triangle colored red, but it's just an example code, i'm not sure if i named the methods right
interesting
Inherits: Mesh< Resource< RefCounted< Object Mesh optimized for creating geometry manually. Description: A mesh type optimized for creating geometry manually, similar to OpenGL 1.x immediate mode. ...
Basically, it is really useful for frequently changing geometry
imagine 300 tri models instaced this amount of times
no wonder my pc almost died wtf
I wanted to send nuclear explosion
But forgot about that limit
Imagine using this 2kk triangle model this amount of times
please tell me this isnt a model from ur game
This is high-poly version of it. Low-poly one is 50k triangles
This is the one i use in game
You may tell me it is still a lot, but, knowing that hands are placed extremely close to camera, it is better to give them a little bit more
this is good
how much tris?
im gon guess
50k for both hands
25k for only one
My character models are 10k
(without clothing theyre like 20k)
But they are not really detailed too
most of it is texturework
1 material as well
most of mine are modelwork
This one maybe 20k, but you know why
that is fancy
ill see if I can show u one of my previous character models
one that isnt in my game
But this one is also boss-like unit too so rare ones can have more cost to render
Sure thing, i'd see them
How much of them are you going to render at once?
I usually try to stay somewhere at 10-12 NPCs at once
ill show it in dms bc its a unique design
Alright
barely any npcs most of the levels
about 3-5 maybe
It's great then
Uniqueness is great, especially with good level of detail
Draw calls down to 500!
Game very pretty wow
Wait in his code, the glAddVertex() function was called 3 times (= 3 vertices), how can it be a cube 😄
500 is still a lot but its getting better
Try to bake the multiple materials in Blender (multiple surfaces) into one single diffuse texture
💀
I dunno how I ended up at a cube
i dont have anything intensive that would need that
plus all the materials are made in godot
blender just has flat colors
But if you'd have to bake multiple materials to one, you won't be able to do it in Godot, so Blender one love
I love new debug HUD, what's up with vertex count though?
oop dam
I forgot that
Congratulations with lowering the drawcalls
I merged the buildings in blender and it worked better
got me confused about what multimeshes would be used for now
abt 900mb of vram used
706 of that are textures
It can be handy for grass, but even in this case i'm not really sure
no but for grass you can just use a particle system
Shader cache can preserve some memory, but you gotta check project settings. In Godot 3.5.2, i have 512 MB used for it
Yea, it sounds as nicer way too
odd
ty ty
@unique hill hey pal, today i've discovered a really weird fact about Godot, not sure if it is still true for 4.x, but i recommend checking it out. So, i've noticed that my textures are quite blurry (especially when you look at them at certain angle). All this time i thought i just screwed up it on my own, but turns out that it is a problem related to anisotropic filtering. You may say that you have it enabled in project settings, and, yea, i had it too. BUT: You gotta enable it in texture import settings too, so, i highly recommend to check if you have it enabled too. If you don't, i also recommend setting it as default option for textures to be enabled for all future ones
i'll check, it makes sense though since anistropic filtering is designed specifically for wacky angles
I think its fine
Damn, i'm so damn glad they removed "anisotropic" setting
@unique hill i'm really sad that i can't help you much regarding the loading screen thing. In 3.5.2., ResourceLoader doesn't have much of that modern stuff (at least for now). Knowing that i can't fix it all, i just decided to turn it to feature. Loading screen having freezes, making it look glitchy? So, why not to turn entire thing to glitchy stuff
This may be a bit over exaggerated example, but this is what i mean (recorded during freezes)
interesting
I think I know a way to not lag it
Instead what I would do
is create a new thread
and run the resource loader func on that one
and when its done I just free the thread
Sounds like a nice way, like, something they should've done with that third argument