Notices by hazlin no plap pirate (hazlin@shortstacksran.ch), page 5
-
@gentoobro @MoeBritannica
Your guess is better than mine xD
Though, me and MoeBritannica had the same frame rate of 24 FPS for 2400 cubes, building the render info and batching it in a single call. On GDScript for me, and C++/opengl for him.
inginsub is of course going to write something more efficient right out the gate than either of us. But, he didn't see the extreme performance gain you'd expect with C++ until he gave the compiler better flags.
-
@gentoobro @MoeBritannica
uhh, I don't have the numbers in front of me, but I believe I clocked the
>rebuild the entire procedural tree structure
at 37ms
and the call to the gpu at about ~1ms.
... though I am very new to this, so maybe you mean something else by stalling the pipeline.
-
@MoeBritannica
Very nice :D Which kind of files are you able to support?
btw, I talked some with inginsub about the performance numbers.
He played around with a similar example (C++ Opengl).
Did around 60 FPS with his first pass. 90 FPS with by hand optimizations. 50 FPS when using clang. And, then he passed the flags to (one of) the compiler for optimization, and got 3200 FPS.
So, it sounds like there is a lot of extra speed available to you in the future if you ever need it for something :D
-
@MK2boogaloo @CharlesSynyard @not_benis @koropokkur @Myles @RaHoWaJoe @branman65
Everything is currently bad everywhere. Only those who are good and disconnected from any Christian Organization, are without distress over the rot universally happening.
-
@splitshockvirus @dcc @nishi
An enterprise guy once told me that, ramdisk dbs are over rated, because a good db server will keep as much cache in ram as it is allowed.
Haven't tested it myself, but for the enterprise data he managed, it seemed to be true.
-
@MoeBritannica many such cases
-
@MoeBritannica @mikuphile @mischievoustomato @bleedingphoenix had a similar experience
-
@MoeBritannica @bleedingphoenix
I compute the arrays for rendering, store them, track the relationship between face offsets and blocks, and use a separate update/render function. (And, I don't know if that is a good way to describe it, so I've made you a diagram of annotated code xD)
-
@MoeBritannica @bleedingphoenix
All modes are single thread, block count 2500 (attached video):
Mode 1 -> Compute everything every frame -> 24 FPS
Mode 2 -> Cache everything, just update vertexes, synchronous rotation -> 60+ FPS
Mode 2 -> Cache everything, just update vertexes, random rotation -> 60+ FPS
Today I learned that ram is more important than CPU count for godot xD
-
@MoeBritannica @bleedingphoenix
So, I made the CPU computation step, threaded (because that is where the most time is being consumed each frame)... and I think this is where real C++ would shine, because GDScript has really, really diminishing returns for more CPU time via threads xD
-
@MoeBritannica @bleedingphoenix
@MoeBritannica @bleedingphoenix
>Rotating
Everything I've written is for, static, axial aligned cubes xD
I'm not even sure HOW to rotate the vertexes for a cube around the center point for the cube.
(searching...)
vertex_rotated = (v0 - v_pivot).rotate(v_axisY,degreesX).rotate.(v_axisX,degreesY) + v_pivot
:D
Spawning 2500 blocks, initiating 2 axis rotation every frame, computing in main thread, and... (attached video) 24 FPS, it is the same lol.
-
@MoeBritannica @bleedingphoenix
:O Very cool
I've only played around with WebGL enough to draw an F xD
> Performance is atrocious
> 24 FPS
I... have no idea what performance is like in godot. Let me run some tests for you.
(1 hour and 15 minutes later...)
For the 3x3x3 cube arrays, they are computed and placed into the world in less than 1 ms.
The 85000 visible cubes array, takes more like a whole frame to push to the GPU. But, the array rebuild itself takes a long time lol. (demonstrated in attached video)
I am not sure what a good "chunk" size is, but (more testing...) 16x16x16 is about half a frame's worth of time to generate+push. (screenshot)
... I guess that is what my chunk size will be for explorations in cubes with godot xD
-
@MoeBritannica @Turdicus @bleedingphoenix @merchantHelios
For my testing, I am just passing simple arrays to a function, that does as described.
-
@MoeBritannica @Turdicus @merchantHelios @bleedingphoenix
Just using godot. You can build a solid object that looks like a bunch of cubes, touching or not, and give the whole thing to the gpu.
I'm not sure what performance limitations there are, but it seems to work just fine.
array_block_ids -> faces+texture -> gpu to render
-
@bleedingphoenix @Turdicus @merchantHelios
Still hopeful about making my own clone :D Got too much tunnel vision about optimization last attempt.
But, it feels like it is only a matter of time :D
-
@bleedingphoenix @Turdicus
I hope notch sees this, and regrets everything
-
@Inginsub cc @gabriel You should consider reading them.
And, for anyone else considering RUST, you should read it as well.
The aspects listed in that blog, reveal a language that adds extra burden to the programmer. And, causes complexity, or rather, intractability to increase with project size.
In English, that means that RUST is designed to cause project failure.
-
@gabriel
-
@MeBigbrain
You are right on the money with this one.
And, I'll add to it, that white people hate each other more than any other group of people.
It is tempting to think that people are just holding back here online, because their fear the identity being exposed or something.
But, that is just an excuse. The reality is, I tried much harder to build a community IRL than I did on fedi over the last 2 years, and the people IRL were just as guarded and kept just as much distance.
In a lot of ways the people IRL were worse.
There is doom on the horizon, and for some fucking reason, white people want to ride into it alone xD
The whole thing has really caused me to re-evaluate my purposes in life. To love those who value my relationship... is as much as I've got at the moment.
And, maybe I'll eventually be able to accept watching those who keep their distance be devoured and tormented by lies. They seems determined to keep anyone from helping them, so maybe I should just laugh at them instead.
-
During the week of Jesus' crucifixion, He lived all of His hard teaching given at the sermon-on-the-mount.
And, during that tormenting time, God's help was withheld from Him. This was for our sake.
For when God raised Jesus from the dead in victory, Jesus raised with a special privilege.
That He may take for Himself any man or every man that walks or has walked upon the Earth. That such a man would belong to Him there after. And, that man would no longer be satan's.
Jesus set forth a condition that, He would only claim those who would believe. That is believe that He had suffered and died, that God's help had been withheld from Him, so that He could claim them, and help them.
Jesus, the living deliverer, God's helper to man, watches over the Earth. Not to punish or reward people to train them to do better. No, He gives men a lot of freedom to live and do as they desire.
What Jesus is looking for, are people who want Him. Those who give their life to Him, surely they will not be disappointed. Surely, they will not be put to shame.
Jesus is returning soon, and all things will be made right.
Statistics
- User ID
- 46616
- Member since
- 3 Sep 2023
- Notices
- 339
- Daily average
- 1