Jump to content

  • Log In with Google      Sign In   
  • Create Account

Promit's Ventspace

Wanted: Socket 939 motherboard

Posted by , 17 February 2010 - - - - - - · 254 views

I'm looking for a s939 (AMD) motherboard to put together a mini server system for pretty much all my work (SlimDX, SlimTune, AR Labs). I have all the other pieces, it's just the mobo I'm missing. If someone is willing to send me an old but working one -- preferably micro ATX -- they're not using, that would be amazing. I will pay shipping.

I don't want to really push anyone into gutting a working system, though. If you can include a processor that would be great, because I'm not sure if the one I have works. 2 sticks of memory would be helpful too -- I've got two but why stop there?

Let me know if you guys have anything lying around.

SlimTune UI Teasers

Posted by , 11 February 2010 - - - - - - · 288 views

This is a combination of a couple Ventspace posts.

Here's a quick teaser of the new UI:

The window hosting the visualizer is missing all of its widgets, but will eventually have a variety of controls along the edges. The revised main SlimTune window is essentially complete. This window is always open as long as SlimTune is running, and maintains a list of the connections that are active. One window, one connection, and closing one closes the other. It's much easier to keep track of things this way, and the individual windows can be hidden away to reduce clutter if desired.

Still working on the details, but here are some new teaser shots.

[Update] Slightly newer version of the visualizer:

The best part of the current iteration? NO DAMN REFRESH BUTTON! The graph redraws itself, and the counter list updates itself. No user interaction required.

SlimTune and Services

Posted by , 08 February 2010 - - - - - - · 354 views

This is a short one, so I've provided full text today. As always, Ventspace is the source.

I've now added service and ASP.NET profiling support to SlimTune. Services seem to work, although I've tested it pretty minimally. ASP.NET should work but I'm really not set up to test it properly. I might attempt a VM based test later, because I'm not really sure what sort of status IIS is on my main machine and I don't really want to find out. Still, ASP.NET is little more than a special case of the service profiling.

Unfortunately, it turns out that admin level privileges are required in order to control (and therefore profile) services. I've decided not to automatically request privilege escalation in SlimTune. Instead, it simply blocks you from selecting service or ASP.NET profiling unless you're running with administrator privileges (and pops up a message box explaining this). You'll have to right click -> Run as Administrator in order to select those options, unless you've turned off UAC outright. Kind of annoying, but I figured it was the best compromise.

Incidentally, the code to support this is mostly cloned out of CLRProfiler, with some work to integrate it into SlimTune smoothly. I don't even understand why half of it is there. You know why? It's because there's no other documentation about how to do it. This problem is somewhat endemic across all the .NET profiling bits, unfortunately. It may also affect the debugger documentation, but I'm not sure.

SlimTune is essentially patched together using a combination of a helpful CodeProject sample, the official documentation, blog posts, MSDN forum questions, and experimentation. I'm hopefully that by publishing a reasonably full featured open source profiler, I'm also creating a good practical reference on how to handle the guts of .NET. I've considered blogging more about the internals as well, but that remains to be seen.

[Update] I would like to mention, though, that this is vastly more documentation than is available for Mono.

SQLite Support in SlimTune

Posted by , 07 February 2010 - - - - - - · 266 views

I've mentioned before that most of SlimTune's core functionality is pluggable. This actually includes the underlying data storage system. The app works through a fairly simple interface, and even SQL is only used by the visualizers and not the core program. To date, the engine in use was Microsoft's SQL Server Compact Edition (SQLCE). With the next release, I'm introducing support for SQLite as well.

Let's recap. Every other profiler I'm aware of works in more or less the same way. While the application is running, data is written to a file. Once the run is complete, the frontend steps in to parse the data and visualize it one way or another. SlimTune on the other hand allows (encourages, in fact) live visualization while the application is running. It also supports very different visualizations that slice the data in entirely different ways. The enabling technology for these features is the use of an embedded database. I'm not sure why no one else has taken this approach, but my theory at the time was that it was a simple matter of performance. Databases have to be manipulated with SQL, have to store everything in tables, etc. I suspected that updating a database so often was a problem. My goal was to write a blindingly fast database backend that would be capable of handling large amounts of data efficiently.

Read the rest of the post at Ventspace.

SlimTune: UI Improvements

Posted by , 01 February 2010 - - - - - - · 271 views

I've been doing some work on SlimTune quietly, and now it's to the point that I have to decide what the next phase of things should be. There are essentially three major groups of work to tackle: UI improvements, memory profiling, and instrumentation. I'll spend this post explaining what I'm looking at with the UI.

One of the ideas I had with SlimTune was to make the front-end pluggable, so that you or I could develop various views of the data that are neatly customized to focused goals, or provide cool new features. That has worked out fairly well, with the caveat that no one except me is writing visualizers. (That's fine, the database format isn't that stable yet.) However, there turned out to be a number of problems with how the views are actually managed.

Read the rest of the post on Ventspace.

Advisory: You Should Probably Use FpuPreserve

Posted by , 23 January 2010 - - - - - - · 555 views

Late copy of a post from Ventspace. Full text today.

One of the create flags for D3D 9 devices is FpuPreserve. It tells the Direct3D runtime that you don't want it to mess with the FPU flags, which it does to improve performance. And you should probably be using it.

FPU computations are a really hideously messy area, one that makes my head spin when you get into the details. One of the cool things .NET does is to take away most of the complexity and make very simple, straightforward guarantees about how floating point code must behave. Operations are done at specifically defined precision, in a certain way, and the runtime must enforce these requirements during code generation. (Which creates some weird x86 code.)

When DirectX goes in and messes with FPU state, it apparently throws off what .NET expects, leading to weird bugs of various sorts. So unless you've got some problem with FPU performance that can be solved by switching to the faster FPU states (hint: you don't), it's probably a good idea to simply set FpuPreserve all the time.

[EDIT] I forgot to mention as an addendum that as part of the SlimDX 2.0 transition, it's very likely this flag will become the default.

Secondary Effects of iTunes Game Pricing

Posted by , 21 January 2010 - - - - - - · 311 views

Every so often, someone complains about the overall price depression on the iTunes App Store to rock bottom. It's a theme that recurs fairly often, and I'm generally a little dubious about the people who are upset about it. It seems mostly to be a product of an actual free market -- you may think your game is worth five dollars, but if someone is producing similar quality for one, well tough shit. Remember, consoles games are basically price fixed and that has a substantial effect on the PC market as well. Now iTunes is a more nuanced discussion than that, exacerbated by the ranking system by which apps rise above the crowd in the store. I'm dubious of the complaints, but I don't mean to suggest they're without merit. Instead, I want to highlight some of the secondary effects I've noticed.

Read the rest of the post on Ventspace.

Action = Reaction Labs LLC

Posted by , 13 January 2010 - - - - - - · 727 views

This is from Ventspace, but today I've decided to give you the full text, on time.

I'd like to introduce you all to our new company, Action = Reaction Labs LLC. Our goal is to bring a pair of new technologies to the games market, starting with the iPhone, that I think could really change things. I know that's a pretty ballsy statement, but stay tuned over the course of the next year at least, and a lot of interesting things should be happening. We're still working on a corporate site but I'll let you all know when that's ready.

AR Labs has two completely separate pieces of technology, both of which are hopefully going to make a big difference to gamers. Both technologies are shown off in a very early prototype form in our first iPhone game, Aves. There will be a second game later this year that will showcase far more advanced versions of both.

The first is our Ghost Dynamic Binaural Audio system. It's been known for a very long time that traditional 3D sound techniques are fairly flat and ineffective. There is something known as binaural recording which produces a much, much more realistic and convincing soundstage for listeners using headphones. Check out Jeff's Five Favorite Things for a demonstration. Until now, binaural audio has been restricted to statically positioned recordings, not suitable for games where things move dynamically. We've overcome this limitation, and can to produce sound that is dynamically positioned in true 3D, just like in Jeff's video. Best of all, the Ghost SDK is currently under development, and should be available to all iPod/iPhone developers within a few short months!

The second technology is the BioReplicants physical animation system. We're not the first to do physically based animation, by any stretch. Unlike a certain well known company however, our system is true middleware and will drop into existing games without requiring engineers on site to tune. Not only that, but our characters are truly capable of walking, running, jumping, flying, flipping, and so much more without an animator ever getting involved. They're also truly interactive -- shove one and it will readjust as necessary to restore its balance and desired animation in a convincing way. This isn't just some clever ragdoll based trick, and it's not just to watch "a different tackle every time". That's no better than pre-rendered cutscenes. You'll see what I mean over the coming months as we start to demo the current generation of our technology.

There's my sales pitch. This is quite literally MY company -- I am CTO and part owner. I'm hoping to talk a lot more about what we've got in the pipeline. Tech details are of course going to be scarce, but please don't hesitate to ask and I'll provide what information I can. I'm especially interested in speaking to iPod/iPhone developers, since that's going to be our first focus with the Ghost SDK. Nearly everybody playing those games is using headphones, making it the perfect platform for what we've got. And candidly, I'm planning to make it must-have technology for any serious iPod game.

October 2016 »

1617181920 21 22

Recent Comments

Recent Comments