#101 Como quieras, pero sobre los cambios de contexto una cosa: hay cambios de contexto de proceso y de thread. Cambiar de thread es fácil y poco costoso, solo hay que salvar los registros generales. Para cambiar de proceso, hay que salvarlos todos, y, además, se invalida la cache, tanto de CPU como de RAM, puesto que, hemos cambiado de proceso. Salvar y recuperar todos los registros, hoy en día lo realiza una instrucción en assembler, pero en la época del MS-DOS no. Por eso, lo que se simulaba era cambio de thread, no de proceso.
Si al "pintar" la pantalla, que no era más que mover memoria, se hacia uso de la DMA, pues se puede considerar que se hace en paralelo, puesto que la CPU queda libre. Hoy en dia se aplica la misma idea, sólo que en lugar de DMA, se mandan los vertices con los ids de textura a la tarjeta gráfica y la CPU queda libre para procesar el siguiente frame.
#98 Vale, me olvidé de comentar que para que haya "paralelismo" la tarjeta gráfica ha de hacer algo que libre a la CPU de proceso, si no no vale. Y ya se que entonces al paralelismo se producirá entre la CPU y la GPU. Pero bueno, creo que igualmente entendiste la idea de lo que dije de simular threads, puesto que ya tenías en mente lo que iba a decir, ¿no?
Y si ya pensé en ponerte algo de timers, pero paso de liarme a escribir código en assembler para parchear la interrupción 0x08, si no va a ser algo útil.
Ah, lo considero todo una buena discusión. Bastante mejor que otras que he tenido.
#95 Si tu lo dices...
será verdad.
La idea de los threads es hacer dos procesos en paralelo o intentarlo.
No esperaba que lo entendieras. Fallo mio por decirlo.
Ah, y gracias por faltarme otra vez! Eso te da definitivamente la razón. Sin duda.
#91
do {
operation1_forellapseoftime(); <- Renderizo en pantalla virtual. (por ejemplo).
operation2_forellapseoftime(); <- Pinto mi pantallita virtual de alguna zona de memoria a A000:0000 (Creo que era ahí).
} while (!exit);
Estoy contento de que al menos no me has dicho que con el dos4gw se podian hacer threads.
Evidentement lo de arriba NO son threads ni se parece, sólo digo que siempre se ha hecho lo que se ha podido.
Jo, pues soy un troll en una noticia que me ha parecido interesante. Pues bueno.
#88 La última frase ha hecho que no me lea el resto del comentario.
Si haces suposiciones así, ¿quien me dice que el resto si son verdades? Sólo me he leido el último párrafo. He visto que lo que no has entendido "simular threads en MS-DOS puro", has asumido que realmente se hacian threads. Pos eso. Eres muy prepotente. No entiendes o no quieres entender lo que digo. Lo tergiversas para descalificarme. Y haces suposiciones falsas.
Pos eso, por lo tanto, espero lo mismo del resto.
BTW. light me, ¿cómo suena un programador de videojuegos? tac tac tac tac tac?
#86#84 He decidido que teneis razón. A partir de ahora consideraré que el primer juego 3D es este y no otro: es.wikipedia.org/wiki/Archivo:Space_Duel_Screenshot.png
Pasaré a considerar el Donkey Kong como el primer survival horror de la historia. Así como el pong el primer simulador de tenis que existió. Ah, y Windows 1.0 como la primera aventura gráfica (o mejor GEM desktop) (si lo sufristeis, sabreis porqué).
Según lo que se considere 3D Quake es el primero, o bien uno más. Casi cualquier juego puede ser considerada 3D. Respecto a lo que considero 3D, creo que en realidad si estaba claro, y quienquiera, que lo entienda. El problema, es que me expresado mal, y si consideramos cualquier juego que tenga una vista 3D como 3D, pues bueno, pues vale, como querais.
¿El error es mio? Probablemente si, por no bajarme del burro, pero es que sigo creyendo eso. Los programadores siempre hemos tenido la habilidad de simular las cosas cuando ha hecho falta simularlas. Threads en MS-DOS puro, alphas sin ser alphas y hasta sistemas de shaders "guarretes". Y las 3D se han simulado siempre, hasta donde la perícia del programador y/o el hardware disponible ha llegado.
#81 "Más ejemplos: supongo que conocerás WipeOut de PlayStation, pues fue portado al PC y lanzado el mismo año que el de consola, 1995. Otro que sale un año antes que Quake."
¿ Y la versión de WIpeOut de PSX estaba a cuanta distancia del de PC en cuanto a gráficos ?
#71 The engine for Descent is a portal rendering engine, operating on the premise of interconnected cube-shaped sectors. Sides of cubes can be attached to other cubes, or display up to two texture maps. Cubes can be deformed so long as they remain convex. To create effects like doors and see-through grating, walls could be placed at the connected sides of two cubes. Descent introduced an elaborate static lighting scheme as well as simple dynamic lighting, where the environment could be lit with flares—another advancement compared to Doom. (Descent II later added more dynamic lighting effects, including the ability to shoot out light fixtures.)
Si quieres, eso si, te doy la razón.
Para ti la perra gorda. Porque... porque hay más gente que piensa como tu que como yo.
#23 Sin palabras me he quedado ante la web del susodicho. El vídeo y la "hazaña" son para echarse a llorar, pero con la web se ve que es carne para estudio psicológico el pobre chico.