Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

performance bottleneck with high number of renderable entities #354

Open
MegasKomnenos opened this issue Jun 24, 2019 · 0 comments
Open
Labels
type: performance System is functionally working properly but not performing as well as it could be
Milestone

Comments

@MegasKomnenos
Copy link

MegasKomnenos commented Jun 24, 2019

hi, I'm that guy few days ago who created 40,000 entities and received a horrible lag. I tried to use profiling to see where the bottleneck is, and this is what I got
most of the systems handle large entity size quite well, but some parts don't seem to scale very well
rendering is where it's most noticeable, and within rendering, there are 3 parts that eat up the performance quite noticeably
with Core: 309.063
and Render: 308.945,
Determine visibility: 15.7901
Render view: 209.513
and Swap buffers: 27.4211
among them, I took a deeper look into Render view, and nearly all of it is from Compositor
where Compositor: 209.497
taking a deeper look, most of Compositor is from Base Pass
where RC: BasePass 185.662
within BasePass, there are 2 bottlenecks

https://discordapp.com/channels/572359664528916490/572359664528916492/592612280265343008

and

https://discordapp.com/channels/572359664528916490/572359664528916492/592612365711704083

this part
where

https://discordapp.com/channels/572359664528916490/572359664528916492/592612444170485780

the first bottleneck was something around 40, I think
while the second was around 150
I was able to serialize the first bottleneck using taskflow's parallel_for
but when I tried the same thing with the second bottleneck, the game crashed
which I guess makes sense
I think if those two bottlenecks can somehow gain improved performance
than rendering multiple entities would be more feasible

@BearishSun BearishSun added the type: performance System is functionally working properly but not performing as well as it could be label Jun 25, 2019
@BearishSun BearishSun added this to the Longterm milestone Jun 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: performance System is functionally working properly but not performing as well as it could be
Projects
None yet
Development

No branches or pull requests

2 participants