Live data from Hacker News

Bunnymark GL in Jai – 200k sprites at 200fps [video]

youtube.com

61–70 of 70 posts

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#61
post #19

Earlier quoted context omitted.

Unrelated but wrt. modern rendering versus 90s rendering I'd imagine that a lot of the performance shims used in the 90s might not apply because the critical problem is different. Performance based development these days isn't so much on maximizing usage of the cycles of the machine (I mean, ok fundamentally it's still about that, but-), rather it's about getting the microcode to do the right thing. E.g. LUTs being e…

If modern high performance code relies on making the microcode do "the right thing", and making sure the right data is in cache then why don't CPU manufacturers allow control over such things?

What’s right for today’s CPU is horrible for next year’s in those terms - and also the other way around.

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#62
post #27

It's been awhile since I've done game engine work, but is this impressive? The first thing that comes to mind is they're using instanced rendering. This allows the CPU to only deal with 1 sprite, while telling the GPU to render multiple instances of the sprite, and use a GPU buffer to find each sprite's transformation matrix. All the CPU has to do is update that mmap'ed buffer with new position information (or do som…

The author was using this benchmark to compare HTML game frameworks and made this to see how different it is native:

https://old.reddit.com/r/Kha/comments/8hjupc/how_the_heck_is...

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#63

Earlier quoted context omitted.

It isn't released. That said, from people I know, it seems like you can just ask nicely and show some interest and he'll let you try it out.

That only applies if you are a known name (probably being known among his fans works too), or have somebody in his circle vouch for you. Regular people don't get in.

this is untrue. (source: firsthand)

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#64
post #45

Earlier quoted context omitted.

Pretty sure overdraw / fillrate bottlenecks before vertex processing. Also you could draw that quad using strips which would then amount for only one more processed vertex compared to triangle. Edit: okay surely with modern architecture there is no pixel write because of some early alpha cut but you still have to fetch the texture to make it so texture fetch (memory) will bottleneck first. I guess.

You shouldn't use strips, they're slower than triangle lists on most GPUs. If by alpha cut you mean "discard", that's going to be much slower than two triangles. Two triangles will have a tiny bit of quad overshading on the seam, compared to a full extra triangle's worth in the alpha cut case.

Yeah discard use to be slow because it flushes pipelines or mess with branching predictions I don't remember which, I just assumed they "fixed" that by now.

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#65
post #45

Earlier quoted context omitted.

You shouldn't use strips, they're slower than triangle lists on most GPUs. If by alpha cut you mean "discard", that's going to be much slower than two triangles. Two triangles will have a tiny bit of quad overshading on the seam, compared to a full extra triangle's worth in the alpha cut case.

Yeah discard use to be slow because it flushes pipelines or mess with branching predictions I don't remember which, I just assumed they "fixed" that by now.

No, it's not either of those, it's just launching useless threads, plus all the down-stream effects of launching useless threads, e.g. if you have blending on, that will block the ROP unit which needs to wait for the threads for a given pixel in-order. If you have depth write on, that will move the write to late-Z.

More vertices is not a big problem, doubling your vertex count is not a big deal, since most GPUs process vertices in groups of 32 or more, and whether multiple instances get packed in the same group depends on the GPU vendor.

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#67
post #40

Earlier quoted context omitted.

Just to be clear - you're writing a "software-based" 3D renderer, right? This is the sort of thing I excelled at back in the late 80s, early 90s, before the first 3D accelerators turned up around 1995 I think. What features does your renderer support in terms of shading and texturing? Are you writing this all in a high-level language, e.g. C, or assembler? If assembler, what CPUs and features are you targeting? And o…

> you're writing a "software-based" 3D renderer, right? Yes. This is 100% what you are familiar with. > What features does your renderer support in terms of shading and texturing? I have a software-defined pixel shading approach that allows for some degree of flexibility throughout. Each object in the scene currently defines a function that describes how shade its final pixels based on a few parameters. > Are you wri…

That's awesome. I think the advantage of a software renderer is that you can adapt your inner loops to do things that a GPU can't do. You can create some new form of polygon-fill that isn't supported by Direct3D or OpenGL etc.

Plus, of course it will run on anything.

I hope you'll be willing to open the code at some point...

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#68
post #57
post #49

Earlier quoted context omitted.

> One fun thing I discovered is just how low latency a pure CPU rasterizer can be compared to a full CPU-GPU pipeline i'm definitely going to have to test that! always trying to minimize input delay

I think it can reduce input delay enough to change streaming gaming economics, but the current state of cloud economy makes it difficult to scale in practice.

i'm just starting learning directx and noticed it can render a triangle at 12,000 fps! i had no clue this was possible. i don't think there's any room for input delay there, but i'll find out

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#69

Earlier quoted context omitted.

That only applies if you are a known name (probably being known among his fans works too), or have somebody in his circle vouch for you. Regular people don't get in.

this is untrue. (source: firsthand)

Curious. Did that change more recently? When did you enter?

Re: Bunnymark GL in Jai – 200k sprites at 200fps [video]

#70

Earlier quoted context omitted.

this is untrue. (source: firsthand)

Curious. Did that change more recently? When did you enter?

over a year ago. I explained that I worked on game engines in college and they were terrible and overengineered and wildly inefficient and I wanted to do things better going forward.
Post reply on HN