GPUs in my task manager

Bryan Langley has posted about GPUs in the task manager. Definitely worth reading, as there are a number of reasonable but non-obvious decisions on how to best display aggregate data, and when shared resources are counted multiple times or not. Also having the driver version and DirectX version handily under the charts is very convenient,…


Performance considerations for DirectX 12 on NVidia hardware

I posted a link to similar content last week for Intel. The Do’s and Don’ts list from at the NVidia site covers additional content for NVidia hardware, and includes other considerations for command lists, engine architecture, swap chains, etc. Enjoy!


Performance considerations for DirectX 12 on Intel hardware

Wolfgang Engel writes Performance Considerations for Resource Binding in Microsoft DirectX 12 for the Intel Developer Zone site. There is some good information there and some material to think about various tradeoffs that can come in handy. Enjoy!


Interrupting shader compilation

Unfortunately, there really isn’t a way to interrupt compilation once it has started. Why would you ever want to do that? Well, if you’re doing compilation (and you really should try to compile offline, although it’s impossible in some cases), the user may decide to switch to a different application while you’re busy. At that…


Performance for building OpenGL ES and ANGLE shaders

Today’s note is a simple reminder that if you’re using OpenGL ES and/or ANGLE, you’re not exempt from the performance concerns I’ve discussed before. Launching quickly is still important for user experience, and developers want to provide a good first impression! The classic OpenGL ES model is to compile the shaders from text. There is…


Compiling shaders vs creating shaders

Last time I talked about shader compilation at launch time, but I wasn’t being precise about shader compilation and shader creation. Shader compilation is the act of taking HLSL source code (i.e. text) and producing a bytecode representation. The main API to do this is D3DCompile. This bytecode can be used immediately or persisted to…


Performance of shader compilation at launch time

For the last few years, I’ve been working on the HLSL compiler. Now that Windows 10 is out the door, I finally have the opportunity to come back to blogging for a while, and hopefully help other developers build successful apps and games. My first topic is a simple reminder that when your app is…


min12int explained

Here I go again, after a couple of years of silence… Someday I’ll tell the tale of what has kept me busy. In the meantime, here is an interesting bit that I learned today. DirectX defined various level of support across many variables, and in Windows 8, some new scalar types were added to HLSL…


Performance for Metro style app

The Windows 8 app developer blog recently published How to improve performance in your Metro style app. A lot of the content might be familiar, including the always-handy Interaction class table, but there are additional considerations to play nice with the rest of the system, particularly with regards to how expectations change for different app…


SkyDrive - HTML5 improving performance, again

Continuing in the spirit of my last post, I wanted to make sure that folks are aware of the How we used HTML5 to make SkyDrive fast for millions of people post on the Inside Windows Live blog. It’s an accessible read that walks you through a number of important improvements that are powering the new…