406 karma · joined January 24, 2013
You can disable these features though by turning off real time protection (which I had to do).
*(void **)&vkCreateDebugReportCallbackEXT = vkGetInstanceProcAddr( ... );
Is there a cleaner/more idiomatic way to do this?Intellij, Cygwin, Ubuntu VMs (DPI scaling worked well in vmware at least), VS Code, VS proper, sublime, idle, cmd, cmder, IDA, Tableau. I can't think of a single application (except for Eclipse) which I noticed not scaling well.
There's something about 'hyper objects' too which sound like race-condition safe objects for doing things like reductions.
The actual ray-tracing code wasn't that long at all, but if you turned max_max_bounces up (say, 100+) "code-gen" time in visual studio blew up to over one minute. That was the moment when I appreciated what everyone was saying about C++ compile times being quite slow if you (mis)use templates.
Perhaps you need to read this again
Your intuition about gc pauses is correct, when you have to push frames every 15-30 miliseconds, you can't afford any kind of unexpected pausing. Game devs also use a huge number of hacks to hit their performance targets, something that using c/c++ makes much easier due to their relative looseness.
Food delivery startups are huge right now, I get like 4 ads a day for different ones in Seattle. If anything, Uber is late to this game.
http://www2.sunflat.net/en/games/sfcave.html
http://www2.sunflat.net/en/games/sfcave3d.html
3D SF cave is my favorite by far.
put in in fullscreen mode
Here is some history of random.org http://www.random.org/history/
and the wiki page http://en.wikipedia.org/wiki/Random.org
the wiki page for atmospheric noise briefly discusses it's applications to "high quality" RNG http://en.wikipedia.org/wiki/Atmospheric_noise
Unfortunately, the source code to the RNG is close-source, and they say they aren't going to release it. But my guess is they use that random noise as a seed to a PRNG. Their FAQ has quite a lot of information though: http://www.random.org/faq/#Q1.2
For more check the "performance" section of this article
http://software.intel.com/en-us/articles/intel-digital-rando...
Note: if you need more than 500MB/s you can uses RDRAND (or RDSEED in Broadwell, when it comes out) to seed a PRNG. I was doing this at first, but the performance of the system didn't improve enough for it to be worth the added complexity.
And if you want to access it in linux from C you can either:
* Use inline assembly, just be sure to check the Zero flag after calling RDRAND, because if RDRAND fails (you're exceeding the 500MB/s) the zero flag isn't set, so you have to just keep calling RDRAND until it is.
* Use intrinsics (easier, immintrin.h), here's how I did it in my program (bug reports welcome, I'm only a freshman in college who had lots of free time and a fascination with fractals)
https://github.com/aarongolliver/FractalFlameMicahTaylorEdit...
http://software.intel.com/sites/products/documentation/studi...
It gets highlighted and is really easy to spot