#Project S-812

1 messages · Page 2 of 1

unborn vale
#

what if you do the profiling again but sort by gpu?

icy anchor
#

I used to have utter respect for Unity. Until this.

icy anchor
unborn vale
#

Here it is sorted by cpu what if you sort by gpu, maybe you can see somethig new?

unique hill
#

I wouldve chosen unity had I not been too lazy to learn C#

unique hill
#

Ill have to redo it to find out

unborn vale
#

any language (even brainfuck) > c#

unique hill
#

knows brainfuck

#

and toki pona

#

all that

unborn vale
#

fr?

#

naaahhhh

#

lol

unique hill
#

but they dont code

icy anchor
unique hill
#

except scraatch

#

they use scratch

#

as an art software

#

deadass

#

and its actually good art they produce bro

#

its insane

unborn vale
#

scratch....

unique hill
#

Scratch

icy anchor
unique hill
#

the kids learning website

unborn vale
#

If it works it works

unique hill
#

I'd show you but id reveal everything about my game

icy anchor
#

After attempt to make game engine on C++ and OpenGL, i'm fulfilled with love to everything

unique hill
#

bottom left

#

that logo?

#

entirely made by him

#

in scratch

#

I just touched it up slightly for use in godot

unique hill
icy anchor
unique hill
#

thats bold

icy anchor
unique hill
#

to make an engine

icy anchor
#

That was my introduction to game-dev

#

I learnt a lot

#

Linear math is the main thing i'm really thankful for

unique hill
#

the organized profilerinfo

#

is the same as the print info

icy anchor
unique hill
#

abt the same

#

the amount of instanced scenes on the left 💀

icy anchor
#

That's bottom, what's up on the top with GPU sorting

icy anchor
unique hill
icy anchor
unique hill
#

wtf are those nodes?

#

ive never seen those before

icy anchor
unique hill
#

custom classes?

#

or sum

icy anchor
#

"I will make my own nodes, with blackjack and logic"

unique hill
#

I dont use classes bc I dont know much abt em

icy anchor
unique hill
#

max class experience I have is with java

#

java and I have a love hate relationship

icy anchor
unique hill
#

I dislike the boilerplate

unborn vale
#

classes in godot are cool

#

It's like an autoload but as an instance

unique hill
#

ohhhh

#

editable in the scene tree

#

rather than remote

icy anchor
#

I have really weird OOP in my project

#

C with classes

icy anchor
# unique hill

Are there any things that use the right column more than left one?

unique hill
#

id assume this

icy anchor
#

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

unique hill
#

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

icy anchor
#

Also, other scenes have issues like that?

unique hill
#

honestly

#

this is the only actual level

#

i have in the game

#

others are test scenes

icy anchor
#

Alright i just wanted to say

unique hill
#

so none are fancy except this one

icy anchor
#

I have a really weird thing

unique hill
#

they just have

#

high quality dev textures

icy anchor
#

m_day1_1 in my game is the first military operation the player will participate in

unique hill
icy anchor
#

And it is so damn fucked up dude

#

It is the heaviest level

icy anchor
unique hill
#

its super high quality isnt it

#

I made it B)

icy anchor
icy anchor
unique hill
#

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

icy anchor
#

I have m_day0_* levels, which is making the m_day1_1 not even first level in game

unique hill
#

and if its lagging with this exterior scene

#

lord have mercy for the 2nd map

icy anchor
unique hill
#

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

icy anchor
unique hill
#

so a few levels

#

would juts be

#

ginormous

#

& others are smaller

#

and more linear

icy anchor
#

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

unique hill
#

ah id love to do that

#

but I dont wanna recode my loading system though

icy anchor
#

It is not even about loading

unique hill
#

or maybe I could go about that in a smarter

#

way

#

:O

icy anchor
#

It is just about adding and removing children

unique hill
#

I could have separate sections

#

yes

#

exactly

#

we're so smart

icy anchor
#

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

unique hill
#

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

icy anchor
#

Also, wanted to ask...

#

You said you have settings menu? Does it interact with WorldEnvironment by any chance?

unique hill
icy anchor
#

Mhm

#

Does it change SSR settings?

unique hill
#

or upon level load

icy anchor
#

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

unique hill
#

Options menu shouldnt do anything like the lag in here

icy anchor
#

I wonder, how much it is going to change if you will make it a little bigger

unique hill
icy anchor
icy anchor
#

Godot why

#

Alright also...

#

You said you have post-processing, like, separate CanvasLayer, with ColorRect, etc, right?

unique hill
#

only abou

#

two or three

#

lens flare

#

vignette

#

and damage gradient

icy anchor
#

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

icy anchor
#

Do you have a way to lower resolution in game?

unique hill
#

AUYHGTFEVCGAHJKIF

#

Bad news

#

& Good news

#

good news I found the cause

#

bad news

unique hill
icy anchor
unique hill
#

the background

icy anchor
#

The sun? No background?

unique hill
#

I hid it

#

and my fps skyrocketed

icy anchor
#

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

unique hill
#

2nd screenshot with only the sky background turned on (these are things that are high up)

unique hill
#

I REFUSE

#

to believe this

icy anchor
#

I refuse to believe this too

unique hill
#

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

icy anchor
#

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

unique hill
#

im this close to deleting this level and redoing it

icy anchor
#

To just see such stuff

unique hill
#

ohkay

#

I think I know the issue

#

Im going to attempt to fix it

icy anchor
#

And place the planes far away instead

icy anchor
unique hill
#

there was 30 cyberpunk building plates

#

now theres only 6

#

😭

icy anchor
#

._.

unique hill
#

due to multimeshes

#

I feel I know the cause

#

I believe its because I removed the floor that the meshes were scatted on

#

*scattered

icy anchor
#

Actually, these errors may do the lag too

unique hill
#

Because the normal buildings

#

dont generate the error

#

see it stops here, and these buildings have a floor mesh still there

icy anchor
unique hill
#

it never hits 1K fps

#

let me feel the happiness 😭💀

icy anchor
#

Lmao alright

#

Mine will never do that too, but you know why

icy anchor
#

I never worked with multimeshes yet because i didn't have had cases to use them

unique hill
#

Basically, it reduces the draw call from a potential 5000

#

to 5

#

if I place 5000 buildings

#

with the same model

icy anchor
#

I know, instancing

unique hill
#

normally it'd be 5000 separate draw

#

yeah

#

but

icy anchor
#

But i never needed instancing for now

unique hill
#

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

icy anchor
#

And you had no issues back then?

unique hill
unique hill
unique hill
icy anchor
#

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

unique hill
#

ok maybe the larger buildings could be 64

unborn vale
#

What did I miss and why are you on 1000+ fps now...

icy anchor
#

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

unborn vale
#

what was wrong with the multimeshes?

unique hill
#

ok now all of the buildings are massive

icy anchor
icy anchor
unique hill
#

this is fine actually

unique hill
#

so I did this for no reason

icy anchor
icy anchor
unique hill
#

actually

#

yk what

#

its a good thing I did that

#

its taller

#

fits more the feel of the game

#

and uses less instances

icy anchor
#

Pro-dev move

unique hill
#

find bug

#

fix bug

unborn vale
#

What is all the video memeory used on?

unique hill
#

realize that wasnt bug

#

newly made thing

icy anchor
unique hill
#

use new thing

unique hill
unborn vale
#

waht you mean by how?

unique hill
#

how to access it

icy anchor
icy anchor
#

But you gotta to divide it by some number to get megabytes

unborn vale
#

938 mb

icy anchor
#
    value = Performance.get_monitor(Performance.RENDER_VIDEO_MEM_USED)
    value /= 1024
    value /= 1024
    value = floor(value)
    change_data_value(
        "Videomemory", 
        str(value) + " MB"
    )
unique hill
#

whats the number

#

1024?

icy anchor
icy anchor
unique hill
#

I love it when I try to fix something

#

realize that something wasnt the cause

#

and ended up making something better

unborn vale
unique hill
#

look at the difference in this scene

#

its so much more

#

idk

#

It has a feel

#

more to it

icy anchor
unique hill
#

than it had previously

icy anchor
#

Ah wait...

#

I'm blind

unborn vale
#

lol

icy anchor
#

Wait why does it use >900 MB of VRAM

#

Phoenix literally opened my eyes

unborn vale
#

what if you convert all the far building to flat planes?

unique hill
#

wait

#

define far

#

bc if u didnt notice that most of them are planes

#

then I did a really good job

icy anchor
#

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

unborn vale
#

I didn't notice

unique hill
unborn vale
#

how far away before they convert to planes?

unique hill
#

I made the scene darker

unique hill
unborn vale
#

damn...

unique hill
#

AAnything without an outline

#

is a plane

unborn vale
#

what graphics card do you have btw?

unique hill
#

like this back here

unique hill
#

exception made for this plane here

unborn vale
#

man...

#

a gtx 1650 isn't even that bad

unique hill
#

8gb of ram

#

unsure of the VRam

#

Ill see if I can pull up my specs rq

unborn vale
#

prolly 4 or 6 gb

unique hill
#

Monitor 1 is broken properly

#

monitor 2 is a wireless display

unique hill
#

dont think I need to elaborate for yall to know where that went 💀

unborn vale
#

how broken?

#

oh

#

...

unique hill
#

so much so that Im using a wireless display

#

dw abt that part

unborn vale
#

like you punched it?

unique hill
#
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

unique hill
#

dw abt it

unborn vale
#

ok...

unique hill
#

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

unborn vale
#

How many lights do you have in the scene?

unique hill
#

three

unborn vale
#

since shadows is nearly 10 ms

unique hill
#

spotlight for background

#

one for normal light

#

another only for the sky

icy anchor
#

Shadows don't seem to be the issue

unique hill
#

bc my pc ran out of ram

#

for a split second

#

while opening razer cortex

unborn vale
#

but like 9 ms on shadows?

icy anchor
unique hill
#

this is the laptop ive got

#

why tf is it saying middle east???

icy anchor
unique hill
#

acer middle east??????

#

im in NA bro this is wild

unborn vale
#

what about video memory?

icy anchor
unborn vale
#

lol

unique hill
#

windows doesnt let me screenshot

unborn vale
#

it's the text below that's important

#

win+shift+s

unique hill
#

the taskmanager

#

yeah

#

k therewe go

unborn vale
#

gpu dying

unique hill
#

lmao

unborn vale
#

how much of the video memory is used?

icy anchor
#

Also regarding the GPU memory... How much much resolution of used textures?

unborn vale
#

actually even more important, are you passing anything (most likely) from the cpu to gpu, cuz you really want to limit that alot

icy anchor
unique hill
#

I wonder if I can make a good looking nighttime scene

icy anchor
icy anchor
unique hill
#

max it would be for any noise texture is 1024

unborn vale
unique hill
#

oh thats that u mean

#

only like 4 shaders in that scenee

icy anchor
#

Maybe Godot itself is reserving GPU memory for something

#

I'd expect that for voxels and stuff

#

But they are not used in here

unique hill
#

is SDFGI voxels?

icy anchor
#

Not really i think

#

It's more about raymarching and etc

#

VoxelGI on other hand...

#

But you know it is not used

unique hill
#

Yall prefer the sunset version or the night time version

icy anchor
#

Both!

#

Damn you made this one quick

unique hill
unborn vale
#

Right now it would be sunset but if the detail was more detailed prolly night

unique hill
#

I already had a night sky

unborn vale
#

not detail lol

#

brain no work momemnt

#

background was more detailed*

unique hill
#

Godot didnt undo properly

#

now i gotta fix the lighting again fromscratch

icy anchor
unique hill
#

I dont push to github that often

#

and I didnt set up git as yet

#

even tho I shouldve

icy anchor
#

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

icy anchor
unique hill
#

damn

#

still looks good

#

also!
Fps bump

#

its 40 now

icy anchor
unique hill
#

still need to get that 60 tho

#

oh well

#

im sure ill find something to fix it eventually

icy anchor
#

I'll return here when i'll have more ideas

#

I'm glad we had more progress

unique hill
#

yee

unique hill
icy anchor
unique hill
#

2 cores???

#

4gb of ram????????????????

#

is that good specsor bad

icy anchor
#

Man, i knew one guy from USA who said me that he could find a better PC on junkyard

unique hill
#

the shit uve done with those specs are truely a feat

icy anchor
#

But here, in Belarus...

unique hill
#

belarus

#

thats a fancy place

#

around europe right?

icy anchor
#

Welcome, welcome to Belarus. You have chosen, or been chosen...

unique hill
#

💀

#

city 17 activity

icy anchor
unique hill
#

neighbouring russia and ukraine yep i'd expect the politics to be properly fucked

icy anchor
#

President rules over that place for 27 years

unique hill
#

third party in the groupchat argument

#

sorry if that joke was inappropriate

icy anchor
#

Lmao i love it

unique hill
#

just googled belarus and that is

icy anchor
# unique hill is that good specsor bad

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

unique hill
#

one of the fanciest architectures ive seen

unique hill
#

or a garrys mod map

icy anchor
icy anchor
unique hill
#

ah

#

fancyy

icy anchor
#

It was a ~7 months project, i made all assets in there on my own

unique hill
#

damn

icy anchor
#

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

icy anchor
unique hill
#

how so?

icy anchor
# unique hill aww

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

unique hill
icy anchor
#

My game definitely has none even after year of active development lol

#

Gotta complete it still

unique hill
#

just a general idea

icy anchor
#

In my case i have like ~80 locations in my game, many of them are for debug purposes

unique hill
#

mostly me doing the work

icy anchor
#

The game can be potentially started, and completed, if fixed everything, and added some missing locations

unique hill
#

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

icy anchor
icy anchor
unique hill
#

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

unique hill
#

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

icy anchor
unique hill
#

im speaking like I run a business but we're just a bunch of teenagers doing random shit

unique hill
#

its in python for one

#

I dont like python much tbh

icy anchor
#

But using GDScript which is modified Python?

unique hill
#

yeah

icy anchor
#

I love that logic

unique hill
#

gdscript is fine

#

but python vanilla

#

feels

#

idk how to describe it

#

yk what i mean

icy anchor
#

There only thing i don't like in OG one is True False None namings, otherwise it is totally fine

unique hill
#

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

icy anchor
#

At this point i'm not even sure about purpose of these languages

#

Like, i used them all, and still not sure

unique hill
unique hill
icy anchor
#

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

unique hill
#

jesus christ

unique hill
#

u have 19 errors

icy anchor
#

Mostly i ignored many of these

unique hill
#

I get no errors except for 1

icy anchor
#

Of course i fix them from time to time

unique hill
#

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

icy anchor
icy anchor
unique hill
#

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

icy anchor
#

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

unique hill
#

I am 100%

#

going to move to ur system of organization

#

bc compared to mine, yours is 1000 times better

icy anchor
unique hill
#

im pushing to the repo

#

and im gon reorganize everything

#

bc that shit

#

is so clean

icy anchor
#

Mainly why do i love that idea with modules is that i don't even ask myself where to put assets

unique hill
#

beuatiful

unique hill
#

when 4.2 rolls out

#

with it's colorable folders

#

how amazing it could be

icy anchor
#

Heh damn that'd be nice

unique hill
#

the PR for colored folders is out already

icy anchor
#

I've seen one guy working on special addon to organize scripts in editor

icy anchor
icy anchor
#

Gotta close btw

#

This is how perfect code looks like

unique hill
unique hill
#

I should ask

#

do you mind if I actually copy ur style of organization?

icy anchor
unique hill
unique hill
unique hill
#

bc I recognize a lot from it

icy anchor
unique hill
#

I shouldve started with organization when I fist made the project

#

*first

#

what is with me and spelling errors today

icy anchor
#

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

unique hill
#

only experience I have with source

icy anchor
#

A lot, really

unique hill
#

is some SFM and 1 gmod test map

#

4 years ago

unique hill
#

it sounds cool

#

I am afraid

#

last time this popped up all my scenes were corrupted

icy anchor
unique hill
#

I pushed the entire thing

#

to the repo

#

so I can just revert everything

#

if i need to

icy anchor
unique hill
#

oh whats a prefab

icy anchor
#

I'm not against using prefabs though, because it is pretty flexible way too

#

And easier to make because it is supported by default

unique hill
#

I feel I might download that PR build for file colors right now tbh

icy anchor
# unique hill ahh

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

unique hill
#

I prefer my drag and drop still tho

icy anchor
#

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

unique hill
#

lmao

#

I feel I might change a few things to make my game more modular as well

#

such amazing texture art I can do

icy anchor
# unique hill

Lmao i'd see someone digging in files of the project and see that for first time

unique hill
unique hill
#

this was used as a test puddle roughness map

icy anchor
icy anchor
#

And attempting to fix it when i can actually do that

#

Perfection is not the limit

unique hill
#

going to use classnames as well

icy anchor
#

Welcome to custom nodes!

vagrant harbor
#

这个画面太酷了!

unique hill
unique hill
icy anchor
unique hill
icy anchor
#

Because i've been looking for the 3 lines of code for a year

unique hill
#

whywould u need toremove col shapes

icy anchor
# unique hill 💀 wdym?

I remember sending you a code snippet that allows to remove a node of CollisionShape while keeping collision itself

unique hill
#

oh yeah

#

OHHHHHHHHHHHHHHHHHHHHHHH

#

i see why thats an issue

icy anchor
unique hill
#

ok

#

I think I have an idea to fix that in 4.1

#

ill do it after im finished eating

icy anchor
icy anchor
unique hill
#

question

#

is that even possible?

#

or just a theory

#

I mean it is

#

obv

#

but with 3 lines of code?

icy anchor
unique hill
#

maybe 4.0 introduced something wacky

#

that I can probably use

#

and then reconvert

#

into 3.5 code for u

#

big maybe

icy anchor
# unique hill hmm
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

unique hill
#

step by step what does this do

icy anchor
#

Basically main principle is getting physical body, registering owner ID and adding a shape to that ID

unique hill
#

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

icy anchor
# unique hill step by step what does this do
  1. Static body, you get it for example
  2. You create a shape owner in this body, this gives you an owner ID you will use later
  3. You find a collision shape. It can be one, it can be many, in this code snippet i've got only one
  4. 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 as shape variable
  5. You remove the CollisionShape because it is obsolete
icy anchor
unique hill
icy anchor
icy anchor
unique hill
#

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?

icy anchor
#

Basically you can iterate through all nodes of a scene and launch that kind of logic

#

*iterate through all nodes recursively

unique hill
#

if collision shapes can be so easily replaced like that

#

what about other nodes?

icy anchor
# unique hill and check its type?

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

icy anchor
unique hill
#

dam

unique hill
#

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

unique hill
lilac igloo
#

Looking great Keep it up 🙂

unique hill
unique hill
#

beautiful startup animation

#

its so squishy

icy anchor
icy anchor
unique hill
#

it works as intended now

#

really nice

icy anchor
#

It scared me a little, but good to know!

wooden grail
#

@unique hill are you planning on adding AA?

unique hill
#

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

wooden grail
#

Thats weird

unique hill
unique hill
#

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

wild valve
#

what's your computer spec?

unique hill
#

8GB of ram as well

#

1650 has 4gb VRam

wild valve
#

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

unique hill
#

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

wild valve
#

I mean do you implement some logic in your game or it is only 3D feature testing?

unique hill
#

it is a game

#

it has gameplay

#

all the systems a game needs

#

options menu, pause menu, startup animation, etc

#

movement n stuff

unique hill
#

Its a game but Im also using it to perfect high end godot graphics

#

whlist having a stable fps

wild valve
#

you need some room for crowd scenes if you have something like that in your game

unique hill
wild valve
#

for example if you can get 120 fps you will have 60 fps in future for things that you don't predict currently

unique hill
#

I will be adding a max fps option too

icy anchor
#

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

wild valve
unique hill
#

120 fps

#

or 80 fps

#

just to have frames left over

wild valve
#

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!

unique hill
#

i should start to focus more on the story

#

rather than having a fully fleshed out game with awesome mechanics

#

and zero story

icy anchor
# unique hill

Hey pal, i'm not sure if i need to suggest you this but...

https://renderdoc.org/

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.

unique hill
#

:OOOO

#

honestly

#

the multimeshes are surprisingly a major contributor to the lag

#

I need to find a way to optimize those

#

without sacrificing quality

icy anchor
#

Actually you said me that you tried turning them to MeshInstance3D

#

Nevermind then

unique hill
#

I never measured the fps when I did that tho

#

will try again maybe

icy anchor
#

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

unique hill
#

I used geometry nodes in blender to scatter it about originally

icy anchor
wild valve
wild valve
#

ok so you will have hard time for optimization 😂

icy anchor
#

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

unique hill
icy anchor
#

Let me check

unique hill
#

when I was tabbing to autocomplete, I didn't find a vertices property or similar

icy anchor
#

What a weird renaming though

#

I've written this according to 4.1 doc

unique hill
#

that name

icy anchor
#

That name is weird

unique hill
#

how is that even related to vertices

#

I would 100% assume if I wasnt told otherwise

#

that that property is for primitive meshes

icy anchor
unique hill
#

like cube, sphere and other shit

unique hill
#

so its not accurate?

icy anchor
#

Alright, also, if we started, RENDER_TOTAL_DRAW_CALLS_IN_FRAME and RENDER_TOTAL_OBJECTS_IN_FRAME can be useful too

unique hill
#

I have total nodes

icy anchor
unique hill
#

Ill add objects in a moment

#

half-busy rn

#

But i'd assume objects to be much higher

icy anchor
# unique hill I have total nodes

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

icy anchor
# unique hill But i'd assume objects to be much higher

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

unique hill
#

Ill implement a proper debug set up

#

when im free

icy anchor
#

Sure thing

unique hill
#

what do you use for ur render vertices?

#

in 3.5

icy anchor
#

It is really weird they did this change

unique hill
icy anchor
#

I'm still not sure why they didn't do triangles

#

Like, it may be more useful to know how much triangles are rendered

unique hill
#

could divide the vertex count by 3

#

or is that stupid

icy anchor
#

Simply because OpenGL/Vulkan/DirectX/etc use this primitive for almost all use cases

unique hill
#

1270221

#

Divded by 3

icy anchor
unique hill
#

is

#

423407

icy anchor
#

Yea

unique hill
#

no decimals

icy anchor
#

Since no floating point, your logic has a point

unique hill
#

meaning it would theoretically work

#

yeah

unique hill
icy anchor
#

Gonna add it in my debug info, may be useful

icy anchor
icy anchor
#

Exceptions are probably things like immediate meshes, which i'm not using much in my game anyway

unique hill
#

oooh my pc just ran out of memory 3 times

#

I think blender tried to render like

#

50 million tris

#

or sum

icy anchor
#

???

icy anchor
#

What is it?

unique hill
#

Ive never used it

unique hill
#

for a building plate model

#

but

#

I forgot to lower the density

#

before I connected the collection in geometry nodes

#

so it just

#

dies

icy anchor
# unique hill whats an immediate mesh?

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

icy anchor
unique hill
#

that code looks wacky

#

it creates a cube tho right

icy anchor
icy anchor
icy anchor
#

Basically, it is really useful for frequently changing geometry

unique hill
#

imagine 300 tri models instaced this amount of times

#

no wonder my pc almost died wtf

icy anchor
#

I wanted to send nuclear explosion

#

But forgot about that limit

icy anchor
unique hill
icy anchor
icy anchor
#

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

unique hill
#

how much tris?

#

im gon guess

icy anchor
unique hill
#

20k-30k

#

god

#

damn

icy anchor
#

25k for only one

unique hill
#

i shouldnt be speaking

#

my character models are 50k as well

#

(including clothing)

icy anchor
#

My character models are 10k

unique hill
#

(without clothing theyre like 20k)

unique hill
#

super optimized

icy anchor
#

But they are not really detailed too

unique hill
#

most of it is texturework

icy anchor
#

1 material as well

unique hill
#

most of mine are modelwork

icy anchor
#

This one maybe 20k, but you know why

unique hill
#

ill see if I can show u one of my previous character models

#

one that isnt in my game

icy anchor
#

But this one is also boss-like unit too so rare ones can have more cost to render

icy anchor
icy anchor
#

I usually try to stay somewhere at 10-12 NPCs at once

unique hill
#

ill show it in dms bc its a unique design

icy anchor
#

Alright

unique hill
#

about 3-5 maybe

icy anchor
icy anchor
unique hill
#

Draw calls down to 500!

thin turret
#

Game very pretty wow

wooden grail
#

500 is still a lot but its getting better

#

Try to bake the multiple materials in Blender (multiple surfaces) into one single diffuse texture

unique hill
#

I dunno how I ended up at a cube

unique hill
#

plus all the materials are made in godot

#

blender just has flat colors

icy anchor
icy anchor
unique hill
#

I forgot that

icy anchor
unique hill
#

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

icy anchor
unique hill
icy anchor
icy anchor
unique hill
#

odd

unique hill
icy anchor
#

@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

unique hill
#

I think its fine

icy anchor
icy anchor
#

@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)

unique hill
#

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

icy anchor
#

Sounds like a nice way, like, something they should've done with that third argument