The difference between "real time" and "real-time" is mostly a matter of style and placement. In most cases, there's no need to add the hyphen; "real time" will work very well. However, a case can be made for its use where it would clarify the writing. For example:
I am updating this in real time.
or
This is a real-time update.
In the second sentence, there's no real need to have the hyphen. However, a reader could stumble a bit on the "real", not realizing that the adjective is "real time". However, this is an extremely minor point, and is rarely done in practice. (In this case, it'd be carrying clarity almost to the point of silliness.)
A better use of the hyphenated form would be "real-time signal processing", so it's not confused with processing that's both real and the processing of time signals. Oxford points out this usage. If you're using this term in a computing sense and the domain you are working in has no precedent to offer, I'd use the hyphen when in doubt.
As to "realtime":
As words are commonly paired together, they tend to be spelled as one word...eventually. "Realtime" isn't a word in any dictionary I can find, but it does get used in slang and in names. American dictionaries tend to list these combination words before UK dictionaries.
In other words, we'll see "realtime" in more dictionaries. It's just a matter of time. (Really.)
I (as a programmer and linguist) would pretty much always use runtime.
I think you might be building too much into the idea that runtime is an 'adjective' in compounds such as runtime environment. The word still remains more noun-like than adjective-like[*] in such cases and there's little motivation for inventing a special spelling in that case. And if you look at examples of actual articles, textbooks etc, I think you'll find most authors come to the same conclusion.
In the Java and C# APIs, I also don't think you'll find a case of it being spelt "RunTime" rather than "Runtime".
[*] cf. "more flexible environment"~"*more runtime environment"; "this environment is flexible"~"*this environment is runtime" etc. These aren't perfect tests, because "adjective" vs "noun" don't really constitute a perfect dichotomy. But you can see that "runtime" is more at the 'nouny' than the 'adjectivy' end of the scale in these cases.
Best Answer
In a situation where you're using the phrase
on time
as an adjective (basically a synonym of punctual) preceding the noun, then it's fairly common to use a hyphen. Examples I was able to quickly pull up were things likeHowever, if you're using the phrase
on time
as an adverb to describe when the verb is going to happen, the hyphen is not appropriate. For example:Finally, if you're using
on time
as a predicate adjective, I would not use the hyphen.