HN Gopher Feed (2017-08-25) - page 1 of 10
Beginners Guide to Vulkan
66 points by deafcalculushttps://www.khronos.org/blog/beginners-guide-to-vulkan
mncharity - 1 hours ago
For folks curious about WebGL in a Vulkan world, there's
kllrnohj - 22 minutes ago
Not to be overly harsh about their work but that just screams "me
too!" instead of solving an actual problem.Vulkan is a low-level,
highly verbose API designed to extract maximum performance and
leverage multiple threads to deal with slower aspects of
rendering. Then you chuck that into a single-threaded, slow
(relatively) runtime where method calls to the actual
transitions ain't cheap), and that's supposed to be a good idea?
Why? Who is supposed to use this for anything useful?Instead of
just porting native features to the web for the sake of porting
them make it easier to make use of the hardware's capabilities.
Let me throw a GPU shader into a CSS3 transition animation or
something like that, for example. That'd be cool and potentially
useful instead of a system where you can port some game to the
web for the sake of porting it to the web where nobody will ever
use it because it sucks compared to the vastly superior native
version of the game.
pshc - 18 minutes ago
I imagine the next step is to provide a WebAssembly
binding.edit: "The API has to execute efficiently on
WebAssembly and in multi-threaded environment. That means no GC
allocations during the rendering loop in order to avoid the
garbage collection pauses."
kllrnohj - 14 minutes ago
Well WebAssembly is another thing I'd question the usefulness
of. It's going to result in threading finally coming to JS
which is nice, but the rest of it is more like a showing of
of technical infrastructure for the sake of it instead of
helping apps with problems they have.
pshc - 1 minutes ago
I would argue that having to write apps in JS, or
transpiling to the JS runtime, is a problem for many
Impossible - 1 hours ago
Oculus Tiny Room is linked, but Valve also has a pretty good
minimal Vulkan + OpenVR example in the OpenVR SDK called
/samples/...).On HN this might be attractive because people tend to
complain about Windows only software, and all of Valve's samples
use SDL and in theory run on Mac OS X and Linux. The OpenVR
example is a little bit more verbose, but it does have some extra
functionality, like drawing render models (controllers) provided by
uep - 24 minutes ago
Thanks for this!I happen to have a Vive and have been wanting to
get my game engine outputting to it. I am primarily focused on
alistproducer2 - 27 minutes ago
Can someone give me a non-graphical use-case for learning Vulkan or
just GPU-based programming in general? I've heard of hardware
acceleration. Is it something like writing your routines in a
language like Vulkan and offloading the computation to the GPU?
jeremiep - 19 minutes ago
Massive SIMD works great on the GPU. Compute shaders are already
a non-graphical use-case on the GPU.You get high bandwidth but
also high latency, so its best for a few large batches rather
than lots of small batches.There is also overhead to uploading
and downloading data to and from the GPU. So you want to save
more time than you spend there.
kllrnohj - 18 minutes ago
The use cases for GPU compute are fairly narrow. You need
something that is embarrassingly parallel and deals with almost
nothing but floats. You also need something isolated enough that
you're ok with paying the PCI-E bandwidth overhead to send it to
the GPU & receive the results back from the GPU.
Nimsical - 47 minutes ago
I clicked cause I thought it was about Star Trek. Always forget
there's a library with that name.
sleavey - 9 minutes ago
Disappointed it's not on Khan Academy.