2011/5/1 Keinier Caboverde R. <kei...@gmail.com>:
> --
> Has recibido este mensaje porque estás suscrito a code...@googlegroups.com
> Incluye tu información de perfil en https://sites.google.com/site/listadecodepixel/
> Para obtener más opciones, visita este grupo en http://groups.google.es/group/codepixel?hl=es.
>
> http://www.codepixel.com
>
El 01/05/11, Keinier Caboverde R. <kei...@gmail.com> escribió:
> Para obtener más opciones, visita este grupo en
> http://groups.google.es/group/codepixel?hl=es.
>
> http://www.codepixel.com
>
--
La vida es tan miserable y decadente, este mundo podrido que se cae a
pedazos, no tiene recuperacion....
No soy emo, tengo cuchillo pero corto en pedazos a los demas, jojojo OwO
Humanos masoquistas, de que se quejan?
2011/5/1 Keinier Caboverde R. <kei...@gmail.com>:
Sería más estable a costa de algo más de computación.
Saludos!
2011/5/2 Jon Valdés <jua...@gmail.com>:
--
Pablo Quesada Barriuso.
email: pab...@gmail.com
blog: http://pabloqb.evolution42.com
Keinier: Me refiero a los puertos E/S que se puede usar desde
programacion. No me acuerdo cuales son ahora, podes averiguarlo viendo
la funcion vsync() o algo parecido, que no lleva mas que un par de
lineas.
Usando el refresco del monitor trae la ventaja de que podes
actualizar el monitor justo cuando la pantalla no se esta refrescando.
En vez si usas el reloj interno de la CPU sincronizas solo la
velocidad, pero podes ver parpadeos igual.
Lo del alloc y new tambien lo vi, todavia no se si realmente es
cierto, (ni siquiera las diferencias entre alloc y malloc), pero
cuanto tenga tiempo algun dia lo averiguare.
El 02/05/11, Keinier Caboverde Ramirez <kei...@gmail.com> escribió:
1) lo que te parece estupido el vsync todavia se sigue usando.
2) Los juegos como maximo se usa 60Hz, pedir 120Hz aunque se pudiera
es demasiado alto y innecesario. Al menos decime vos para que se
utiliza. (Supongo yo que para simuladores o realidad virtual, cosa que
sige sin necesitarse tampoco)
3) En ningun momento hable de sistema de timing de alta frecuencia.
4) Quien dijo de linkar? Estoy hablando de usar el puerto E/S para
sincronizar con la velocidad del monitor. Si queres un link entonces
googlealo. No creo que sea tan dificil consultar los puertos.
5) No es necesario tocar ninguna interrupcion.
6) Ya que estamos, porque no informas un poco a todo el grupo ya que
lo sabes todo? Cuales son las funciones/programacion/loquesea que
decis vos el que se encarga de sincronizar y enviar la informacion a
pantalla en el momento correcto? Y con que hardware si tiene algo que
ver?
7) Cualquier reserva de memoria que hagas con alloc o new ocurre
fragmentacion de memoria. La buena administracion de memoria depende
de vos.
---------
Si escribis por cupo anual, entonces mejor que la proxima escribas en
el año que viene despues de estudiarte todo lo que corresponde, claro.
El que no tiene fundamento y escribe al tuntun sos vos.
El 02/05/11, shash <shas...@gmail.com> escribió:
> A ver...
>
> *Lobo Oscuro*: Deja de decir cosas que no aplican en PC, sin linkar
> referencias. Primero, usar como sistema de timing de alta frecuencia el
> VSync es completamente estúpido. Si eres afortunado, tendrás vsync a 120Hz,
> lo cual significa una granularidad de 1000 ms / 120 ciclos = 8.33 ms. *Una
> mierda, vaya*. Segundo, y quizás más importante, en PC no hay soporte para
> sincronía explicita en VSync, a diferencia de las consolas (hace años que se
> pide, pero aún no hay soporte general). No puedes linkar una interrupción al
> VBlank para poder operar en ese momento. Lo más importante: *no es necesario
> *! En PC no tienes los problemas que hay en consolas de areas de memoria en
> las que no puedes escribir durante el frame, así que puedes mandar al driver
> las operaciones durante el frame, y él ya se ocupa de enviarlo a la tarjeta
> cuando lo cree adecuado: Puedo explicarlo en algo más de detalle, pero creo
> que ya es bastante offtopic para el thread actual. En resumen, documentate
> un poco antes de decir cosas al "tun-tun", o al menos provee links que
> prueben lo que dices, por favor. Decir cosas por decir es peor que estar
> callado, gracias.
>
> *General*: Usad los sistemas de timing que comenta Jon Valdés en su primer
> post. A veces se debe ser prudente en casos de parones largos debido al OS /
> carga de datos / lo-que-sea, pero a nivel particular y profesional no lo he
> necesitado nunca.
>
> Sobre los allocators, depende de la plataforma, pero en consolas (y en PC,
> por localidad), querrás tener custom allocators, para evitar fragmentación y
> tener todos tus datos juntos. Es un tema bastante complejo para resumirlo,
> pero te recomiendo que leas el Effective C++/Effective STL para aprender los
> patrones de alloc de STL, y busques *memory fragmentation* en Google.
> Opcionalmente, lee también
> esto<http://altdevblogaday.org/2011/02/12/alternatives-to-malloc-and-new/>(blog
Por supuesto. Es la única manera de sincronizar la aplicación con el monitor.
> 3) En ningun momento hable de sistema de timing de alta frecuencia.
Sin embargo, esa era la pregunta de Keinier
> 4) Quien dijo de linkar? Estoy hablando de usar el puerto E/S para
> sincronizar con la velocidad del monitor. Si queres un link entonces
> googlealo. No creo que sea tan dificil consultar los puertos.
Sinceramente, en mi vida he oído algo así. Yo también agradecería un link.
> 6) Ya que estamos, porque no informas un poco a todo el grupo ya que
> lo sabes todo? Cuales son las funciones/programacion/loquesea que
> decis vos el que se encarga de sincronizar y enviar la informacion a
> pantalla en el momento correcto? Y con que hardware si tiene algo que
> ver?
Precisamente para sincronizar y enviar a pantalla en el momento
correcto está el vsync. Lo que dice sash es que el vsync de las
consolas permite un acceso más específico, porque las consolas están
más limitadas técnicamente que un PC. En un PC, no puedes más que
activar el vsync y dejar que el driver de la GPU se encargue de todo.
> 7) Cualquier reserva de memoria que hagas con alloc o new ocurre
> fragmentacion de memoria. La buena administracion de memoria depende
> de vos.
Precisamente por eso, prácticamente todo motor 3D utiliza un sistema
propio de allocs, que reserva un gran bloque de memoria (o unos pocos
bloques) con malloc y luego lo gestiona internamente, utilizando
pequeñas secciones de ese bloque.
Eso mejora la coherencia de cache y disminuye el overhead que supone
llamar a malloc/new por cada nuevo uso de memoria que haga falta. A
eso es a lo que se refiere sash.
Un par de links sobre memory fragmentation y cómo tratar on ella:
http://stackoverflow.com/questions/3770457/what-is-memory-fragmentation
http://stackoverflow.com/questions/60871/how-to-solve-memory-fragmentation
"Somos ingenieros/programadores. Pon referencias, o lo aceptamos como falso."
--
Vaya sobrados que estan echo los usuarios de aqui, necesitan unas
lecciones con palo. ^^ Shash, es cosa mia y tuya el que te lo merezcas
la informacion o no.
Veamos, cuantos usuarios son como shash en este grupo? Depende de la
respuesta el valor del grupo. Porque no quiero descartar el grupo por
un tonto que se cree sabelotodo.
El 03/05/11, shash <shas...@gmail.com> escribió:
> Tu mismo, la información que se pedía en el thread ya está (y la errónea
> corregida), y solo TU te pones tu en evidencia, sin probar tus afirmaciones.
>
> A parte, Keinier, si quieres más detalles de lo que comento, pregunta: puedo
> detallarlo más, o citarte sitios donde leer artículos más extensos.
>
> shash
>
> 2011/5/3 Lobo Oscuro <loboo...@gmail.com>
>
>> "*Somos ingenieros**/programadores**. Pon referencias, o lo aceptamos como
>> falso.*"
>> Pues aceptenlo como falso entonces, seran los ingenieros/programadores
>> carente de conocimientos.
>> [image:
>> http://i658.photobucket.com/albums/uu308/NiggiesExist/cool%20shit/TrollFace.png]
>>
>> Es lo que ganas criticando a los demas y actuando como sobrador...
>>
>> --
>> Has recibido este mensaje porque estás suscrito a
>> code...@googlegroups.com
>> Incluye tu información de perfil en
>> https://sites.google.com/site/listadecodepixel/
>> Para obtener más opciones, visita este grupo en
>> http://groups.google.es/group/codepixel?hl=es.
>>
>> http://www.codepixel.com
>>
>
> --
> Has recibido este mensaje porque estás suscrito a code...@googlegroups.com
> Incluye tu información de perfil en
> https://sites.google.com/site/listadecodepixel/
> Para obtener más opciones, visita este grupo en
> http://groups.google.es/group/codepixel?hl=es.
>
> http://www.codepixel.com
>
Esta es la mejor (única) forma de mejorar el motor. Lo ideal sería
mantener una serie de pruebas, escenas, ejemplos, donde pudieses medir
el rendimiento , e ir mejorándolo con distintas ideas, consejos, etc.