Ben Sims Profile
Ben Sims

@BenSimsTech

Followers
3K
Following
16K
Statuses
3K

Senior Game Programmer. Graphics/C++/C#/Shaders/Unity/Unreal/PC/Console/cats. https://t.co/ZVhM7nzRvf https://t.co/L6p2GNXesk

Adelaide, South Australia
Joined June 2016
Don't wanna be here? Send us removal request.
@BenSimsTech
Ben Sims
5 days
RT @iquilezles: Hey, don't "optimize" conditional moves with mix()+step(). Please stop advising that. Why: https://…
0
189
0
@BenSimsTech
Ben Sims
6 days
Code currently does a prefix sum per thread up to the current index of array elements who have the same (bitmasked+shifted) value. Could just do parallel prefix sum with 256 different results at once in shared memory I guess. The other prefix sum in the loop is easy to optimise
0
0
1
@BenSimsTech
Ben Sims
6 days
Anyone know much about GPU sorting algorithms used for GPU driven rendering? Can't find much info on it. Planning to sort a compacted input array of visible instances by instance type, lod, and view distance. (In that order) Needs to handle ~1m instances or so in reasonable time.
16
1
141
@BenSimsTech
Ben Sims
7 days
@SquaredApe @Gadget_Games At the core of things, UE is lead by someone with a technical vision and is used to build games by the same people who make the engine. This wins out over an engine controlled by investors and shareholders who want a product to sell to the public without specific technical goals
0
0
2
@BenSimsTech
Ben Sims
7 days
@Gadget_Games @Saniell_ @mgrviper Unity has lost a lot of faith with developers by making a lot of false promises. A marketing campaign on things the engine still isn't great at is the last thing it needs. Unity's problems are tech, direction and leadership based, and creative marketing isn't going to save them.
1
0
3
@BenSimsTech
Ben Sims
7 days
@Gadget_Games @mgrviper I see, I guess my point is, if Unity markets themselves as being better performing while also having UE-quality graphics and other systems, it would be a lie. Sure it might work in the short term, but they don't have the tech to back it up, so will fall apart in the long run.
0
0
1
@BenSimsTech
Ben Sims
7 days
@Gadget_Games @mgrviper The problem is Unity is fast for simpler games and graphics, but does not scale well to high end graphics and huge games without a lot of custom tech. UE beats Unity visually and runs better, but for smaller or graphically simpler games in UE, you pay a large performance overhead
1
0
1
@BenSimsTech
Ben Sims
8 days
@noio_games Looks pretty cool, I'm working on a similar system which has probably been re-invented many times. Instead of releasing it, make a simple project which includes an example with the core parts of how it works without a crazy amount of dependencies and bloat, and maybe a blog post
0
0
5
@BenSimsTech
Ben Sims
8 days
Kind of annoying how many solved problems in programming/computer science/graphics require you to basically re-solve them from scratch even when source/research is public, because of language/implementation/license details. Provide simple, readable code without dumb licenses ffs.
2
3
65
@BenSimsTech
Ben Sims
8 days
@Noodles_Now (The unity game wasn't using DX12, but still similar problem with GLES, shaders still get compiled on the fly, so had to manually render things during load to avoid stutter during gameplay)
0
0
1
@BenSimsTech
Ben Sims
8 days
@cdglove98 The problem is twofold, 20 minute first run startups is a combination of way too many PSOs in the first place, and compiling them all upfront instead of during gameplay when an object with a new PSO is first rendered. But one 20-minute compile at least means smooth gameplay.
0
0
1
@BenSimsTech
Ben Sims
8 days
@EyeOfScar Yeah, I just don't get why it wasn't always done this way. Like, who thought "lets compile PSOs when an object is first drawn" was a good idea. Too many PSOs is its own problem that needs solving, but I think players generally prefer 1 long load time instead of stuttery gameplay.
1
0
3
@BenSimsTech
Ben Sims
9 days
without any fancy caching. This encouraged us to be careful about how we were implementing new effects, shaders, render passes, render states etc. Developer awareness and control over the render pipeline, and tech artists being careful of shader variants are very important.
0
0
7
@BenSimsTech
Ben Sims
9 days
PSOs from the previous run, since it will try to re-compile then again at load time the next time the game is run. (And this is where you'd rely on the driver PSO cache to possibly speed things up, which would account for driver/shader/app changes)
1
0
3
@BenSimsTech
Ben Sims
9 days
Driver PSO cache stores between re-runs of app, but driver version might change, or graphics settings, or the app may update, so these would be invalid and need to be checked. Application however is in full knowledge of when graphics settings change, and can simply ignore cached
1
0
2
@BenSimsTech
Ben Sims
9 days
and the app stores start index+length into the data for each required PSO combination. Fetching a cached PSO would involve a single linear read from either memory or disk instead of the extra logic that the driver PSO cache would need to do. Could also use lossless compression.
1
0
3