Set_fps

Started by Hola, November 07, 2017, 06:08:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Hola

Hola, buenas a todos..., vengo tras consultar la función set_fps en el manual de Osk y me ha surgido una simple duda. En una parte del manual dice que conviene poner el "juego" a 0 fps cuando lo que se está buscando en la ejecución es obtener resultados lo mas rápido posible, ya sea si se trata de obtener resultados de una gráfica o un conteo de bucles, etc. La cosa es que yo estoy programando algo así, no es precisamente una gráfica o un juego lo que hago, pero no uso imágenes gráficas ni son necesarias, mas que nada todo es datos de variables y esas cuestiones. Según conozco Bennu ejecuta por defecto a 25 fps..., eso no tiene mucho sentido en mi programa si lo que quiero es que ejecute lo mas rápido posible. Así que quería poner los fps a 0. Y la pregunta yendo al grano es: escribo set_fps(0,0) ó set_fps(0,1) ?


De todas maneras cuando chequeo los fps del programa con una write_var, no figura 0 fps, en su lugar aparecen como unos números así: 56001 o algo parecido que va cambiando. Por eso no se si estoy haciéndolo bien.


Help?

gecko

set fps en 0 lo que hace es sacar el limite de los fps, mientras que si pones set_fps en 25 o 30, lo que hace es limitar la ejecucion para que "como maximo" vaya a 25 o 30 fps. Por eso es que ves esos numeros, eso es la maxima cantidad de fps que puede procesar tu computadora.
Torres Baldi Studio
http://torresbaldi.com

Hola

Comprendo gecko, gracias...y como entonces debo ponerlo : set_fps(0,1) o set_fps(0,0) ? o viene a ser lo mismo..?

SplinterGU

el 2do parametro es skip para llegar al frame del primero, al ser el primero 0, el 2do no tiene sentido.

por otro lado, si tu programa no usa FRAME (no se que estas haciendo), no importa que le pongas a set_fps, no se usara...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Hola

Ah perfectamente, listo.


Grax splinter

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

entons, poner set_fps a cero es hacer el programa instantaneo, ¿no? pero si lo pongo a 200 será doscientas veces por segundo, osea casi instantaneo...
¿y hasta que numero podria llegar para que fuera todavia mas rapido? 1.000? 10.000? 100.000?

gecko

podes poner el numero que quieras para aumentar la velocidad, pero 0 es la velocidad maxima, es "sin limite de velocidad", pero si lo corres en una pc lenta, tal vez ese "sin limite" sea solamente 200, porque lo maximo que puede ejecutar esa computadora es 200.

Como pasa con la wiz, que aunque uno ponga los fps en 30, a veces no llega ni a ese numero.
Torres Baldi Studio
http://torresbaldi.com

Arcontus

en SetFPS el primer valor es la tasa de FPS deseada, puedes poner 100000 ya se verá si la máquina puede mostrar esos FPS. El segundo parámetro es realmente mágico.

Imagina que quieres hacer un juego simple en red con 2 computadoras y a 30fps. En cada frame envias tu posicion a la otra computadora y esta te devuelve la suya. Si una de esas computadoras no fuera capaz de llegar a los 30fps ralentizaría a la otra computadora. En cambio, si pones el segundo parámetro de SetFPS a 1, el juego en red toleraría que una de las computadoras fuera hasta 15fps sin afectar a su compañera ya que podría saltarse 1 de cada 2 frames en caso de no tener tiempo.

Un saludo!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

Drumpi

Ojo, debemos entender que "saltarse un frame" no significa que no se haga nada. Un frameskip = 1 quiere decir que, si es necesario por falta de velocidad de la máquina, uno de cada dos frames NO SE DIBUJARÁ EN PANTALLA. El resto de operaciones (modificar coordenadas, código de los procesos y funciones, prioridad de los procesos, etc) sí que se van a llevar a cabo.
Eso es como los emuladores.

Como dice Splinter, si no vas a usar nada de gráficos, no uses frame. Es más, no uses ni las librerías gráficas. Yo he creado algunos programas por línea de comandos con Bennu y la velocidad que se obtiene es increible: operaciones que con SET_FPS(0,0) pueden durar un minuto, sin gráficos no llegan ni a tres segundos.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Hola

Gracias por las respuestas y aclaraciones.