vid_pickrenderer option?

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

User avatar
Rachael
Developer
Developer
Posts: 3646
Joined: Sat May 13, 2006 10:30

Re: vid_pickrenderer option?

Post by Rachael »

The first time I ever played deathmatch in any game was Quake 2 - I was lucky enough to have two computers together on my own network so I brought over a friend from school and we just started playing together. :) I never played Doom in deathmatch until I got into Skulltag.

My father would occasionally bring me files he downloaded from BBS's - lots of sharewares and demos, mostly. Some were some pretty cool utilities. He also shared his copy of QB 4.5 so that I could start programming (though I don't really tell people that often that BASIC is the first language and the language that I used the most). Before that point, I mostly did BASIC on run-line interpreters like GWBASIC or from the ROM BIOS that was included in most IBM machines.

In fact, I never even got into C++ until high school because for me it was hard to grasp a lot of what was going on. It was when I did that, though, that I began to understand it wasn't the language itself that was hard, it was learning how to use it properly. The school also let me take home a copy of Borland Turbo C++ so that I could install it - and that was really helpful.

Also, intermixed and in between all that, I've occasionally programmed assembly as well. I am actually extremely comfortable programming 8086 assembly language. >_> Too bad it's of virtually no use, today.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: vid_pickrenderer option?

Post by Graf Zahl »

Eruanna wrote:Also, intermixed and in between all that, I've occasionally programmed assembly as well. I am actually extremely comfortable programming 8086 assembly language. >_> Too bad it's of virtually no use, today.
I could still do 6510 assembly for the C64, it seems you never forget what you started with, although I haven't programmed for the C64 for more than 25 years. The last project on that system for me was in 1990.
(Yeah, perfectly useless skill...)
User avatar
Rachael
Developer
Developer
Posts: 3646
Joined: Sat May 13, 2006 10:30

Re: vid_pickrenderer option?

Post by Rachael »

Unfortunately, learning any assembly at all these days is useless unless you're either writing your own compiler or you're writing for a project that actually needs to be extremely fast.

Even with CPU's reaching a phase where it's difficult or impossible to improve upon them more than they already are, it seems like there are not many projects relying on direct assembly language rather than high level languages since they are still quite fast and can handle almost any task needed just fine.

A little funny thing, though - I've heard NASA still uses 8086 chips, for whatever reason - and they were at one point paying huge for machines that still have them. So 8086 might not be that useless of a skill, after all. The instruction set is so extremely limited though. >_>
ibm5155
Posts: 152
Joined: Tue Oct 25, 2011 13:05

Re: vid_pickrenderer option?

Post by ibm5155 »

Don't even tell me about asm compiler, I'm doing that for a college Project and it's a pain in the ass (+ 8086 emulator).
"you're writing for a project that actually needs to be extremely fast"
-Well, I tried that just by curiosity, it ends that the visual studio c to asm code was faster than my inline assembly code D: ...
"I've heard NASA still uses 8086 chips"
Wasn't the usa military? I heard they still uses 8086 in almost everything (Inside rockets for tracking, and even inside military airplanes [ I heard there were 100 on it]).
And it's funny that they are buying new 8086 chips from china (and guess what china does? buy alot of 8086 from trash, and just paint it as a brand new chip)

Edit: Doesn't people still use assembly language in iot projects where the system ram is like 32kb? Maybe they use the good and old c ( just like some new c64 projects that are made with a c compiler)
User avatar
Rachael
Developer
Developer
Posts: 3646
Joined: Sat May 13, 2006 10:30

Re: vid_pickrenderer option?

Post by Rachael »

You won't get much benefit from writing in assembly unless it is self-modifying, or at least self-referencing.

An example would be to load a register based on a certain condition (i.e. parameter value) from an array, and use that register value as a jump offset.

One instance where self-modifying code is handy is where you have conditions which do not change often, but change often enough that you would need to use an "if" statement in a higher level language. The code can place jump offsets inside itself based on certain conditions being met. It's a lot less costly in processor time to use direct jumps that can be changed rather than repeating conditional tests.

I have only really thought about the theory of it all, though, I've never actually used any of it in practice - in fact, my most major project in assembly was writing a TSR DOS driver that emulated a proprietary SVGA card.
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: vid_pickrenderer option?

Post by Gez »

In aeronautics, it's hard to use the latest new stuff because there are so many safety requirements. If before you can use a component you must demonstrate that the component can be able to work reliably for 10 000 hours of service life while 30 000 ft up in the air, well, the certification tests by themselves are going to take several years. And once you've done that, you have a serviceable chip that you know you can use, so you use it. Sure, there's another chip design that's like ten times more powerful, but do you want to spend the money on certifying it? Maybe just wait for a few more generations, what you have now already fits your needs and it's already a thousand times more powerful than what the space shuttle had, so stop whining.

And that's how you can end up with NASA still using 8086 in 2016. And NASA, thanks to their mostly experimental/research purpose, can get away with a lot more novelty and uncertified stuff than in other domains. I think the worst are the military; I remember reading that the ongoing AWACS modernization program (you know, the planes with a big radar dish) includes replacing tape reel drives by tape reel emulators since you can't replace the entire system in one go.
User avatar
Rachael
Developer
Developer
Posts: 3646
Joined: Sat May 13, 2006 10:30

Re: vid_pickrenderer option?

Post by Rachael »

I think another challenge for replacing 8086 processors is they didn't require fans to function reliably. When you're operating in a vacuum you have no air to blow onto a CPU core, which presents interesting challenges keeping it operational. I have no idea the exact physics for heat in a vacuum or how insulating a vacuum is compared to air. If I understand correctly, it's very insulating, meaning modern CPU's will not be able to throw off their heat, and will literally shut themselves down within minutes of being active due to overheating.

You might be able to throw water on them, but then that's yet another system you have to maintain, and you have to ensure that the water, itself, is able to lose heat too.
dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: vid_pickrenderer option?

Post by dpJudas »

Eruanna wrote:He also shared his copy of QB 4.5 so that I could start programming (though I don't really tell people that often that BASIC is the first language and the language that I used the most).
No reason to feel bad about that. I did most of my early programming in PowerBasic. And my dad even bought me Visual Basic for DOS (yes, there really was such a thing!). It wasn't really until I got tired of the speed that I switched to C++. Only thing I ever did in GWBASIC was to launch that "scorched earth" example game with the apes throwing bananas. :D
Eruanna wrote:In fact, I never even got into C++ until high school because for me it was hard to grasp a lot of what was going on. It was when I did that, though, that I began to understand it wasn't the language itself that was hard, it was learning how to use it properly. The school also let me take home a copy of Borland Turbo C++ so that I could install it - and that was really helpful.
The funny thing about C++ is that it has withstood the test of time surprisingly well considering how hated it is by many developers. And it is a difficult language to learn as reading other people's code gives you so many variations of how things can be done. In the ZDoom codebase you pretty much have examples from all the generations, early "lets make everything globals" C style, the MFC age of "lets prefix classes C or F because I just learned about classes and got infected with hungarian notation", and soon increasingly more C++11 with autos, lambdas and smart pointers. Still, by the end of the day, it remains my personal favorite language to do stuff in.
ibm5155 wrote:Well, I tried that just by curiosity, it ends that the visual studio c to asm code was faster than my inline assembly code D:
That's the level my assembly is at too. So sad when you get owned by a compiler. :D
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: vid_pickrenderer option?

Post by Gez »

I don't see it as sad. I see it as "yay I don't have to obsess about micromanaging tiny code optimization and I can instead focus on the bigger picture". 8)
Locked

Return to “GZDoom”