Are you still working on it?
Yes, in fact it's done, but to be honest I forgot a bit this framework since the release of Vulkan
I will release it with the next update of GeeXLab.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Are you still working on it?
A barrier is a new concept exposed to developers which was previously hidden inside the driver. If you think synchronization, you’re not too far off, as this is also part of what a barrier is.The synchronization part is well known for CPUs: you have multiple writer threads updating a buffer, then you synchronize to make sure all writes have finished, and then you can process the data with multiple reader threads. However, that’s not all there is to a GPU barrier (ResourceBarrier and vkCmdPipelineBarrier).
Related to barriers are fences (CreateFence and vkCreateFence), which are required to synchronize the CPU with the GPU as well as different queues on GPUs. A fence is a very heavyweight synchronization primitive as it requires the GPU to flush all caches at least, and potentially some additional synchronization. Due to those costs, fences should be used sparingly. In particular, try to group per-frame resources and track them together with a single fence instead of fine-grained per-resource tracking. For instance, all commands buffers used in one frame should be protected by one fence, instead of one fence per command buffer.
2016/2/22@09:22:45(0000000001) < > GeeXLab v0.9.6.1 (Feb 22 2016@09:14:00)
2016/2/22@09:22:45(0000000002) < > Cross Platform Lab for Real Time 3D Programming and Demo Coding
2016/2/22@09:22:45(0000000003) < > (C)2009-2016 Geeks3D (www.geeks3d.com)
2016/2/22@09:22:45(0000000004) < > GeeXLab is starting up...
2016/2/22@09:22:45(0000000005) < > Windows version: Windows 10 build 10586
2016/2/22@09:22:45(0000000006) < > platform: Windows 64-bit
2016/2/22@09:22:49(0000000082) < > [Vulkan] Vulkan renderer (Windows, Linux)
2016/2/22@09:22:49(0000000083) < > [Vulkan] Vulkan core library loaded ok.
2016/2/22@09:22:49(0000000084) < > [Vulkan] # Vulkan devices: 2
2016/2/22@09:22:49(0000000085) < > [Vulkan] [ GPU 1 ]--------------------------------------
2016/2/22@09:22:49(0000000086) < > [Vulkan] - GPU name: GTX 750
2016/2/22@09:22:49(0000000087) < > [Vulkan] - DeviceID: 10DE-1381
2016/2/22@09:22:49(0000000088) < > [Vulkan] - Raw driver version: 1493811200
2016/2/22@09:22:49(0000000089) < > [Vulkan] - Vulkan API version: 1.0.3
2016/2/22@09:22:49(0000000090) < > [Vulkan] - Device type: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
2016/2/22@09:22:49(0000000091) < > [Vulkan] [ GPU 2 ]--------------------------------------
2016/2/22@09:22:49(0000000092) < > [Vulkan] - GPU name: GTX 960
2016/2/22@09:22:49(0000000093) < > [Vulkan] - DeviceID: 10DE-1401
2016/2/22@09:22:49(0000000094) < > [Vulkan] - Raw driver version: 1493811200
2016/2/22@09:22:49(0000000095) < > [Vulkan] - Vulkan API version: 1.0.3
2016/2/22@09:22:49(0000000096) < > [Vulkan] - Device type: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
But first some caveats: The Talos Principle is technically the first game with Vulkan support, but it's currently being beta-tested. The Talos Principle also isn't designed to use the CPU utilisation and draw call improvements that are central to Vulkan, unlike Stardock's Ashes of the Singularity demo does with DX12. Furthermore, the new Vulkan drivers from AMD and Nvidia are also both in beta testing. In short, take these benchmark results with a large pinch of salt.
Essentially, in GPU bound scenarios like higher than 1080p gaming, Vulkan isn't all that different to OpenGL. But as soon as the CPU is taxed a little more, like at 1080p and lower resolutions, there's a clear uplift in performance.
I like the list a lot It looks almost like the list of my favorites, except just:
- FastStone Image Viewer - IMHO best image browser. Freeware (not for commercial use). XnView is also a good alternative.
- foobar2000 - music player. Previously I used Aimp, which looks more like lightweight version of Winamp.
- jEdit - my favorite plain text editor. Very powerful. Its only drawback: it's written in Java
- WinDirStat - shows statistics and draws treemap of disk usage.
Hello and welcome to our series of blog posts covering performance advice for Direct3D® 12 & Vulkan™. You may have seen the #DX12PerfTweets on Twitter, and asked yourself where you can find some more background information – search no more, we’ve got you covered. Today, we’ll be looking at command lists, a feature which is only present in explicit APIs that expose fairly directly the DMA command buffer architecture of most modern 3D hardware.
The most important fact about command lists is that they can be recorded from multiple threads. This is one of the major advantages of Direct3D 12 and Vulkan over previous APIs. Optimal performance will be achieved by using as many CPU threads as there are available to record command lists. There are no hidden driver threads in Direct3D 12 and Vulkan that could interfere with you – all the threading performance comes directly from the application.
EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations.
Ion is a portable suite of libraries and tools for building client applications,
especially graphical ones. It is small, fast, and robust, and is cross-platform
across many platforms and devices, including desktops, mobile devices, browsers,
and other embedded platforms.
Why Use Ion?
* Small: < 500k binary size on mobile platforms, often much smaller
* Powerful: Tools for faster productivity when developing applications
* Robust, portable application infrastructure aids in:
* Object lifetime management
* Memory allocation
* Application start-up and static instances
* Run-time setting editing
* Automatic performance instrumentation
* Tools for graphics:
* Analyze graphics scenes to find performance bottleneck
* Trace all OpenGL calls and examine their arguments
* Use scene resources in multiple contexts, automatically
* Run-time graphics state introspection
* Run-time shader editing: change your shaders and immediately see the results
* Fast graphics: Minimal overhead between your application and OpenGL / ES
* Tested: Well-tested and facilitates testing your application
* ~100% test coverage
* Black- and white-box tested, unit tests and integration tests
* Mock implementation of OpenGL API allows direct renderer unit tests and
* Integrated Remote: extensible API allows changing arbitrary application
settings on-the-fly for faster development, testing, and debugging
* Desktop: Linux, Mac OSX, Windows (OpenGL)
* Handheld: Android (ARM, x86 MIPS), iOS (ARM and x86), and their 64-bit
* Browser: Emscripten/asm.js, NaCl / pNaCl
* Used by many teams across Google, running on billions of devices through
multiple Google products