partial status: HDD crash, in-engine profiler, new clouds/...

Published March 03, 2014
Advertisement
so, what happened recently:
one of my HDDs (in this case, a Seagate 2TB drive) decided to die on me mostly without warning.
* curse of Seagate: damn near every time I have used a Seagate drive, it has usually ended up dying on me.
** sort of like my experience with ASUS motherboards...
*** had reliability problems with several ASUS MOBOs, got a Gigabyte MOBO, and everything worked.
*** maybe not a good sign when the MOBOs come wrapped in cardboard.
** actually the MOBO issue is less severe, a crashy OS is less of an issue than lots of lost data.

luckily for me, it wasn't my main OS drive (which is currently a "WD Caviar Black").
well, originally I was using a "Caviar Green" for my main OS drive, but it was 5400 RPM and often had performance issues (computer would often lag/stall, becoming somewhat IO bound). using a (more expensive) 7200 RPM drive made performance a bit better.

but, yeah, didn't loose much particularly important, as (luckily) I tend to try to keep multiple copies of a lot of more important stuff (on different drives, ...). but, still did loose some amount of stuff (like, all my 2D character art, and random downloaded YouTube videos, and my installations of Steam and VS2013, ...), and may have lost one of my newer fiction stories, ...

some of this is because, sadly, both drive reliability (and the OS going and stupidly turning the filesystem into mincemeat) are not entirely uncommon IME (though the FS mincemeat issue seemed more common with WinXP and NTFS drives, not seen it happen with Win7 thus far, nor had I seen it happen with FAT32 drives).

in this case, the HDD itself mostly just stopped working, with Windows mostly just giving lots of "drive controller not ready" error messages, and Windows otherwise not listing the drive as working. though a few times it had worked sort-of, and (with luck) when I get a new HDD, maybe I can see if I can image the old contents onto a new drive.


otherwise, recently added an in-engine profiler.

mostly this was because after the HDD crash, and resorting back to VS2008 for building my 3D engine (VS2013 had been installed on the crashed HDD), CodeXL stopped being able to effectively profile the thing for some reason or another.


since both CodeAnalyst and CodeXL have a lot of "often don't work for crap" issues, I was like "oh hell with it" and basically just made a rudimentary profiler which can be run inside the engine. it aggregates things and tells me which functions use most of the time, which is the main thing anyways (source-level profiling is nice, but would be more involved, and would probably require a proper UI vs just dumping crap to the console).

did observe that the majority of the execution time in these tests was going into "NtDelayExecution", which was mostly related to sleeping threads. made it so that the statistics aggregation ignores this function, mostly so that more sane percentages can be given to other functions.

beyond this, most of the execution time seems to be going into the OpenGL driver, and into some otherwise unknown machine-code (not part of any of the loaded DLLs, nor part of the BSVM JIT / executable-heap). may be part of OpenGL.

this becomes more so if the draw-distance is increased.


did otherwise make some animated clouds and a new sun effect.

basically, rather than simply using a static skybox, it now uses a skybox with a sun overlay and some animated clouds overlaid (though with a few unresolved issues, like color-blending not working on the clouds for some reason I have yet to figure out).

new clouds and some tweaks to metal biome can be seen here:
2 likes 2 comments

Comments

tnovelli

haha, fsck Seagate... nothing but trouble for the last 10+ years. Unfortunately it's a duopoly between them and WD now. I was thrilled to find a Samsung HD a few years ago and then they sold their HD division to Seagate. Yeah, those Caviar Black "server" drives seem decent... more $/gb, smaller sizes, supposed to be less flaky. Probably about time to use SSDs for everything though.

Hardware quality across the board has taken a nose dive... used to be you could spend $2000 for a PC and it'd last 10+ years but it'd be obsolete in 3... now you spend $500 and it'll be usable for 10 years but 90% chance it'll be dead after 3.

March 06, 2014 12:46 PM
cr88192

yeah...

looking online recently, Seagate drives seem to have an annual failure rate of nearly 30%, which is pretty solidly bad. apparently, the 2TB Seagate Barracuda was one of their extra-bad drives though.

I was able to coerce the drive back into working enough to at least try to image its contents onto a new drive (a 3TB WD Caviar Black), which will hopefully work a bit better. sort of been sitting around since yesterday waiting for the thing to image though.

even at pretty good speeds, it will take a good number of hours. at the speeds I was getting initially, it would require around a week, but luckily it seems to have sped up.

it is a bit hit or miss as to whether the drive wants to work at all. it seemed to (seemingly randomly) decide to start working again enough that I could try to image its contents off (after being very uncooperative/unresponsive), and hasn't died again yet.

as well as other odd observed behavior, like when it was unhooked (with only power connected), it seemed to spin up and spin down and do stuff on its own (like it will spin up and sound like it is doing stuff, occasionally make bad-sector noises, ...). this seemed a bit odd, as normally when drives are unhooked, they don't seem to do a whole lot (they will spin up, and maybe spin back down again later).

with my current computer, pretty much every part apart from the case has been replaced since it was originally built (in 2010). though, granted, a lot of the HW I am using isn't particularly high-end.

the reason I have not used SSDs thus far has mostly been due to their high costs vs HDDs.

March 06, 2014 05:34 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement