Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Theby on June 17, 2011, 02:54:43 PM

Title: Process vs Function
Post by: Theby on June 17, 2011, 02:54:43 PM
Estaba leyendo el Curso de Fenix que viene con Bennu pack y en algunas partes se habla de Function en ves de Process. ¿Que diferencia hay, es solo por el propósito que uno les de? como bien leí en el curso las Function no llevan Frames ni ciclos infinitos así como otras condiciones.

Actualmente el proyecto en el que trabajo solo usa Process, ¿es recomendable cambiar aquellos Process cuyo proposito es alterar ciertas variables o entregar resultados puntuales por Fuction?

¿Que diferencias en cuanto al funcionamiento hay entre estas dos definiciones?

Por ejemplo:
[code language="bennu"]
PROCESS proceso(int a, int b)
BEGIN
        return a+b;
END
[/code]

[code language="bennu"]
FUNCTION funcion(int a, int b)
BEGIN
        return a+b;
END
[/code]

bueno el ejemplo es bien simple xD pero yo tengo procesos que solo hacen cálculos específicos, conviene cambiar estos a function?
Title: Re: Process vs Function
Post by: KeoH on June 17, 2011, 06:24:49 PM
es practicamente lo mismo .. pero en algun lugar leí q las function no tienen muchas de las variables locales de los process ... si eso es cierto me imagino q consumira menos memoria xD no se ni idea xD
Title: Re: Process vs Function
Post by: HenBanKeN on June 17, 2011, 06:45:04 PM
Leí por ahí que las variables locales predefinidas son para "todos los procesos", así que me imagino que las function no tienen z, x, y, graph, flags, etc.

Si eso es cierto, entonces claro, conviene más ahorrar un poco usando function cuando sea posible...

Si no es así, que alguien nos aclare D: xD
Title: Re: Process vs Function
Post by: Theby on June 17, 2011, 06:47:26 PM
si yo también tengo como la 'intuición' de que las function son mas ahorrativas en ese aspecto, pero como no he visto información clara al respecto no me quiero arriesgar :P
Title: Re: Process vs Function
Post by: SplinterGU on June 17, 2011, 07:30:28 PM
tienen las variables locales tambien, la diferencia entre una funcion y un proceso, es que las funciones son para retornar valores, una funcion no retorna valor con un frame, sino que quien la llama se queda esperando hasta que termine, sea por un return o porque termino. En cambio, los procesos despiertan al invocador con un frame o con un return.