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

Don't use global shader properties (and add vertex batching) #194

Closed
peppy opened this issue Oct 20, 2016 · 2 comments
Closed

Don't use global shader properties (and add vertex batching) #194

peppy opened this issue Oct 20, 2016 · 2 comments
Labels
priority:0 Showstopper. Critical to the next release.

Comments

@peppy
Copy link
Member

peppy commented Oct 20, 2016

Every time we need to change a global shader property, a batch much be split up.

Right now we are incurring insane performance overheads from zero batching. This needs to be addressed as a priority, in my opinion.

with batching: 1480fps
without batching: 98fps

@peppy peppy added the priority:0 Showstopper. Critical to the next release. label Oct 20, 2016
@peppy peppy changed the title Don't use global shader properties Don't use global shader properties (and add vertex batching) Oct 20, 2016
@Tom94
Copy link
Collaborator

Tom94 commented Oct 20, 2016

Are you sure the global shader properties are the issue? We also need to flush batches if we are just setting GL.Scissor without any property changes. I don't see how we can avoid flushing when masking changes.

@peppy
Copy link
Member Author

peppy commented Oct 20, 2016

yeah, i already changed the code to flush on glscissor *or * global shader changes for now.

i think this alone is enough for the time being, until we have performance metrics to know when we are un-batching too much.

closing this issus as it will be resolved by my upcoming PR.

@peppy peppy closed this as completed Oct 20, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority:0 Showstopper. Critical to the next release.
Projects
None yet
Development

No branches or pull requests

2 participants