6

My experience working with shader compiler stacks a few years back is that they are extremely aggressive, and I doubt you will see any perf difference, but I would suggest testing as much as you can. I would generally recommend providing the compiler (and human readers) with more information where the language allows it, marking parameters according to ...


5

It sounds like you're trying to do adaptive subdivision on the surface of a hemisphere. This has indeed been tried before, although perhaps not in the exact way you're thinking. Usually for hemispheric integration, people use some well-distributed, pre-defined sampling density over the hemisphere and forget about adaptive subdivision. But you may be ...


5

A good way to improve sprite rendering efficiency is geometry instancing. This lets you define a mesh using one vertex/index buffer pair, then render many instances of that mesh in a single draw call using a second vertex buffer whose elements define the instances. This is more widely supported than geometry shaders; in particular, it's is supported in WebGL ...


4

is it important with modern GPU architectures to avoid floating point operations in favor of integer operations? Almost certainly not. CPUs have a long history where for many years they only handled integers natively and floating point operations were all done with slow math libraries. That changed about 20-25 years ago, but the thinking has remained ...


3

Yes, it's a meaningful stat: GPUs have dedicated triangle setup HW and the rate is measured in triangles/GPU clock. According to white papers available on NV's website, the 680 (Kepler) could issue one triangle per SM every other clock - with 8 SMs, this yielded 4 triangles/clock. The Maxwell white paper doesn't indicate a change in this rate per SM - the ...


1

It is likely somewhat possible, depending on how the video was encoded. The player can easily skip displaying half the frames but that won't gain us much. What needs to happen is to skip decoding some of the frames. Modern video codecs nearly all use a mix of I, P and B frames. Most are quite flexible in which frame types are used and only specify what a ...


1

In my tests a GTX 1050 can do ~1B triangles with glDrawElementsInstanced(GL_TRIANGLES, .... That's roughly 2/3 of chip clock. Arguably GL_TRIANGLE_STRIP can give you an x3 speed boost, but e.g. idtech4 only supports GL_TRIANGLES.


Only top voted, non community-wiki answers of a minimum length are eligible