En fin, ya que el niño tenía ganas de poner un owned, sin venir a cuento, vamoa a buscar en mis post dónde dije que yo que
a)el problema del vsync no existía
b)dónde intento imponer mi opinión
Y por si acaso también vamos a buscar dónde
c)dudé de que el problema fuera cierto, sin afirmar categóricamente
d)dije que era una burrada decir que el double buffer era el problema
zheo escribió:¿¿¿¿Pero qué burradas dices????
¿Donde has leído ese despropósito?
zheo escribió:Ay dios, el double buffer no es eso ni de lejos. El double buffer es dibujar en otra zona de la memoria de la tarjeta de video que esta no está usando para dibujar, de forma que el cambio sea más fluido. El triple buffer es lo mismo con 3 capas.
Pero eso de que lo divide a la mitad al forzar el vsync es algo que nunca había experimentado y no lo encuentro por ningún lado más allá del link que das.
Es más, voy a probar ahora con el Halo para PC y te cuento, pero me extraña MUCHO.
Ala Tmaniak, busca busca, pero de momento te devuelvo el
Jhonny gracias por la explicación, pero sigo sin entenderlo dices:
En el momento que te baje de 85 a 82 por ejemplo, tu estarás viendo en pantalla solo 42.5 fps, ya que la gráfica ha perdido el hz actual y debe esperar al siguiente.
Si pierde el hz de refresco del monitor, tiene que esperar al siguiente, pero eso en tiempo no representa el suficiente para que baje frames...
Espera, espera, dices que la gráfica sincroniza la generación de frames con el VSYNC, de forma que si los FPS caen por debajo de los Hz, tiene que ir al divisor más próximo para sincronizar correctamente? Por ejemplo 42.5 FPS significa que cada dos sincronizaciones verticales del monitor, se repite un frame?
Creo que ya lo entiendo, pero yo siempre creía, y siempre he leído, la tarjeta dibuja frames a la velocidad que puede, y cuando llega el momento del vsync es cuando se intercambian los buffers (normalmente un puntero interno en la tarjeta) y entonces sigue dibujando. Es decir, habría algún VSYNC del monitor en el cual el frame que se está dibujando en el front buffer no está terminado, con lo cual se repetiría un frame, pero para el siguiente ya estaría terminado. Con eso ya se hace sincronizado y no hay problemas -quizá y dependiendo de los frames un ligero 'lag' de input. Es más, con el triple buffer -si es cómo yo lo acabo de contar claro- debería existir un problema similar, incluyendo el lag de input.
Para el de nombre impronunciable y ego inalcanzable decirte algunas cosas:
1)Probablemente aprendí a usar google antes que tú, y probablemente sabía lo que hace el double y triple buffer también antes que tú, así que no me vaciles. Vale? En este mismo post digo a Tmaniak que busque ese intento de imponer mi opinión. Anímate tú también.
2)He leído bien lo de guru3d, y a parte de meter algún gambazillo al decir que el triple buffer añade otro front buffer (añade otro backbuffer, que es distinto), y que, textualmente dice " I believe vsync prevents the front buffer from being written to unless a complete frame can be transmitted at the designated refresh rate interval, potentially leading to the monitor displaying the same frame for multiple screen refreshes" es decir, que no está seguro, aunque lo que dice es cierto, pues resulta que dice más o menos lo mismo que jhonny. Así que sigo teniendo mis dudas.
3) No te preocupes que voy a preguntar el tema a gente que sabe de verdad y trabaja en esto y asi despejo dudas, ya que aunque me cuesta creerlo, NO LO HE NEGADO CATEGÓRICAMENTE TODAVÍA
Por otro lado, si han utilizado esa aproximación al vsync, (utilizar divisores del refresco en vez de simplemente esperar a la señal VSYNC para intercambiar buffers) es la cosa más chapuza que he visto hacer desde hace mucho, hasta para microsoft.
Y por último, hay gente que no le gusta halo, porque les puede parecer un juego mediocre con una historia simple. Y no por que tú lo digas va a ser mejor o peor. Y menos jugándolo en pc (2 años más tarde que todos, que es un desfase tecnológico considerable)
Así que acabas de pecar de lo que me acusabas. Ahora que tú puedes pensar que es una pataleta, como comprenderás no es mi problema.