It's now my turn. This post is looking like "storytelling", or a fairytale, but at least I thing that it is nott offtopic.
My app - a game engine - is Qt-centric and I were developing it with QtCreator and MingW that ship with the Qt Creator. But the time for 3D graphics has come and I had decided that despite my LOVE with OpenGL, It just can't go because of these Intel videocards...umm... videocraps... after some opengl rendering code was written. Writing in RAW DirectX was not an option, because I really hate this library. But, the stalemate was: Raw OpenGL can't work on Intel, learning DirectX won't work on linux and consoles... and the situation started to get even more complicated. I abandoned the project just for a while, got to play Max Payne 3 then Crysis 2, and after this 2 weeks relax, the research about rendering only engines started. As usual, the "Irrlicht vs Ogre". I downloaded Irrlicht first, but despite the facts it was easy, I didn't liked it at all... for unknown what reason, Ogre got to look more promising to me.
And the real war begun then. I downloaded Ogre's sources and dependencies, the dependencies package compiled but the Ogre source didn't - the MingW linker that ships with Qt Creator crashed. Tried this 4 times that day, it just crashed. Half Life 2: Deathmatch, sleep and next day. I downloaded fresh mingW, and successfully compiled Ogre. but... This compilation cannot suffice. There got the time to compile Qt...... I said "NEVERRRRR", then I felt like smashed kitten. Compiling Qt is THE serious pain in the arse, compared to Ogre. (BTW I love Ogres, they are so cute, after all, I'd prefer ogre oet than a dog pet

). I got depressed, back to Half Life 2 DM and another one sleep. However, this particular problem will persist any sleep, but i marked it as unsolvable anyway. I decided to try Ogre and relax a bit from my game engine. I set-up Code::Blocks to use the mingw and my own Ogre built, and I really got impressed by all of Ogre features, except the resource managers and that need to name everything globally-unique, because I am loading my data from elsewhere, usually manually. Whatever, that was not the case, the case was that I got Ogre up and running and got my own GLSL shaders "running" on my ManualObject generated pyramid

But the time was ticking, I had only one month remaining to prepare some beta of my engine. Investors invited me to an interview, earlier than expected...
Then after my attempt to compile Qt from source failed as well, most because my stupidity, I decided that I will go with that official Microsoft compiler. Got Qt SDK for Visual Studio, got that Ogre source, and compiled it as usual. I was impressed by the speed of the compiling process, but not by the application preformance, MingW's STL is waaaaay faster then Microsoft's STL on my mashine, and really Microsoft STL killed the performance of my project. Porting to MSVC took just a day, my project got up and running... with an Ogre viewport

Qt 5.0.1, Qt Creator, QMAKE-based project, MSVC 2010, own Ogre build... (that I get rid of and downloaded the official Ogre build later then). Then I made my project to use Qt's containers instead of STL and the performance problem went away. However, I see that Ogre uses a lot of STL and STD inside and I don't like this, but a friend of me have its own SSE based and very well optimised implementation of subset of STL (somehow inspired by MingW's implementation and Qt's containers), and he is now making it support Ogre as well. Also there are rumors that VS 2013 will actually optimise STL's performance but I can't try it on my PC. After I completed the OGRE implementation and ported old shaders from GLSL to HLSL, I felt inspired. But for now, I really abandoned the Linux build because I used a LOT of win32 glue code to integrate Ogrw with Qt and workaround all these Qt bugs
