## Some GPU Stats about Two Of My Computers

I own a Windows 7 tower-computer I name ‘Mithral’, which has an NVIDIA GeForce GTX460 graphics card. That was state-of-the-art around 2011. I read that its GPU was identical to that of the GTX470, except that the GPU was supposed to possess 8 core-groups. In the factory, they tested the GPUs, and if they found that one of the core-groups was defective, they used a laser to deactivate that one, and sold the graphics card for a lower price, as a GTX460. According to the first screen-shot, which was obtained using “GPU-Z”, it has 7 * 48 = 336 cores.

I also own a Linux-based laptop named ‘Klystron’, with a nonspecific AMD / ATI chipset – both CPU and GPU – which was state-of-the-art around 2013. The second and third attachment seem to show that it possesses 6 * 64 = 384 cores. The second screen-shot was obtained using “KInfoCenter”, and the last text-quotation was obtained from the OpenCL toolkit installed on the same laptop.

## Atomic Game Engine Installed – twice

One of the projects which I have recently undertaken, is to compile and install Atomic Game Engine, both on my Linux laptop ‘Klystron’, and on my Windows 7 machine ‘Mithral’. This was originally a closed platform, but has received renewed interest, because it is now available under the MIT license, which is a form of Open-Source licensing, more permissive than GPL v3 is.

This platform has the eventual capability, to deploy 3D applications and games, to Windows, OS/X, Linux, Android, iOS and WebGL recipient-platforms, while some forms of it will run under Windows and Linux, in my own experience.

I have to say though, that my ability to get the Linux version of this game-design platform working, was not due to my own prowess, but rather to the fact that the development team at Atomic Game Engine, provided dedicated and consistent technical support to me, every time I ran into a problem. I would guess they are rather tired of answering my many questions for the moment, so it is also good news, that both under Linux and Windows, my installations of this platform are complete – to my own satisfaction.

I have exported a 3D application to Android from my Windows platform, but have not reproduced this success under Linux, mainly because the platform requires that I specify where my Android SDK and where my Ant executable are located – sensibly – and I do not have any Android SDK presently, installed on ‘Klystron’. I do have the Android SDK installed on ‘Mithral’, which as I said is required, and so the export to Android worked there.

Installation under Windows was much more straightforward than it was under Linux, which is often the case, because the Windows version comes as an available binary SDK, while under Linux it still needs to be custom-compiled. And whenever we custom-compile anything, we can run into dependency issues.

One major issue I faced under Linux, was the fact that the Mono packages that are standard for my Debian distribution, are not adequate in what they provide, for development in C# to be enabled. And so what I needed to do, was to subscribe to another Mono repository, managed by Mono project, to upgrade my whole Mono installation, and after that, C# also worked.

So, Atomic Game Engine allows for 3D applications and games to be designed, using the languages C#, JavaScript, and TypeScript, according to my own experience… But, a C# Project cannot be exported for WebGL playing.

Also, I have discovered along the way, that We are no longer expected to install ‘Visual Studio 2015 Express’, but rather “Visual Studio 2015 Community Edition”, and in order to get C# support to work properly on my Windows 7 machine, I needed to do an in-place upgrade, from ‘VS Express’ to ‘VS Community’.

I am pleased that all the installation and upgrading seems to have gone well, and seems to have left me with no major reliability issues, either on ‘Klystron’ or on ‘Mithral’.

However, because the build of Mono now on ‘Klystron’ is non-standard, I cannot vouch for it in general. On my actual server-box ‘Phoenix’, I must choose to stick with the more conservative Mono packages, that are meant to go with Debian, because this box needs to run reliably 100% of the time. OTOH, on ‘Klystron’, I had nothing else depending on Mono, for which reason I was also willing to do the upgrade.

Dirk

## Powerful Computer ‘Mithral’ May Require A Reinstall

It is a shame but might be true.

I have been using a powerful Tower-PC named ‘Mithral’, on which I have installed Windows 7 Pro, and which has an 8-core CPU, threaded as 4. This computer was first installed in 2011.

This computer had special software installed, named “Diskeeper 2011″, which continuously defragmented my Hard Drive, but in an effort to be able to save the HD even in the worst-case Fragmentation / FS Corruption scenarios.

‘Mithral’ has developed the habit now, of repeatedly going into an unresponsive state, overnight, which is also the time when it has been configured to do its background defragmentation.

The fact that it never freezes during the day, but often now, overnight, suggests that the problem may lie in File System Corruption, which can lead to fatal errors, if defragmentation encounters it under Windows. I have run a ‘Check-Disk’ on it, but doing so has not remedied the problem.

However, one apsect of this problem which puzzles me, is the fact that so many defragmentations have run successfully, without immediately tripping over any FS-Corruption issues. This casts doubt on the idea, that the problem may be due to FS Corruption. What could also be happening, is that Diskeeper 2011 may no longer really have been compatible with the most-currently updated Windows 7.

And so, because these hangups seemed to be taking place during a time when Diskeeper 2011 was running, what I have done for now, is to uninstall that, and to install the most up-to-date version, that being “Diskeeper 2016″. As usual, I am able to tell Diskeeper to defragment the whole HD without any immediate errors. But now I will have to wait and see, whether continuous background-defragmentation, using version 2016 of the software, is ultimately more stable.

Because a computer which crashes every second night is not really supportable, I might eventually need to wipe ‘Mithral’, and to make an attempt to resurrect it, using some version of Linux. If I succeed, at least I will still have the benefit of the hardware.

There is some chance, however slight, that the problem is not really FS Corruption, but some sort of Hardware problem. If that should turn out to be the case, then even with Linux on it, this computer will still crash and/or be unstable. This will be even more sad.

To prepare for eventually reinstalling, I will need to migrate critical data off it, to my other computers, with a depth I have not had to do so in before. This will not be one of those cases, where I can just wipe the HD and kick the present O/S off it on a whim. I need to think this through, as far as data is concerned.

This is my last remaining Windows computer. There exist certain services under Windows, that I cannot duplicate under Linux, and I might need to get by without those.

Dirk

## d3dcompiler_47.dll

Microsoft has stipulated, that in the future, all DirectX applications will need to use a DLL named D3DCOMPILER_47, if not of some greater version. What this driver does seems quite useful.

In the past, it had always been a limitation in the design of raster-based graphics, that actual shader code needed to be fed to the graphics drivers directly as text. As an alternative, D3DCOMPILER allows for the shader code to be compiled into bytecode, which DirectX drivers can understand. This also has uses in obfuscating copyrighted content. But mainly, it provides performance improvements in fact, because many games today have highly complex “Compute Shaders” etc..

When we install the Windows SDK on a Windows 7 or a Windows 10 computer, not the same libraries and header files will install each time.

(Some Text Deleted Because Erroneous Before.)

Dirk

(Edit 09/18/2016 : )

I have learned, that the library D3DCOMPILER_47.DLL is supposed to reside in both the System32 and the SysWOW64 folders (on a 64-bit Windows system), and is auto-generated there, much as D3DX9_43.DLL was, by the DirectX system on the computer, which is supposed to be running the game in question.

Because the DirectX system on Windows 7 will generate at maximum, D3DCOMPILER_43.DLL , some game developers have been including their own version of the _47 DLL, in the same directory as the EXE File, which is also the first directory the EXE File tends to search for it.

But a problem with that is, that some version of this library will be built specifically for Windows 8.1 for example, and will therefore not run properly on Windows 7. This produces an obscure error message, which I do not recall the exact spelling of.

Yet, the onus is not on the OGRE developers to supply their own version of this library. They do supply a version with their SDKs specifically, but that one is now built to run on Windows 8.1 as well.

Further, version _47 may only be needed for DirectX 11 applications, while _43 may still be good enough for Legacy DirectX 9. Yet, if OGRE was coded to use _47, then it will use that version throughout, even if I was only to try building their DirectX 9 rendering system.

The correct Path on my Windows 7 box ‘Mithral’ for this DLL, is


C:\Program Files (x86)\Windows Kits\8.1\Redist\D3D\x86



Contrarily to what the spelling of this Path may suggest, the DLL version I find there does load correctly on Windows 7. And, I am based on the conventional 32-bit build of OGRE. The above Path is related to one, which will also reveal the 64-bit DLL.

As for OGRE still requiring the Legacy DirectX SDK to build, this is a question of which version of the header files it has been programmed to expect, as well as of providing both the DXGUID and D3DX Static Libraries, whose file-names end in .LIB, as opposed to any DLL Files, which are the Dynamically Linked Libraries.

It is common, for the compilation of software to rely on such static libraries, whereas to run the software should only require the DLL Files, under Windows.