Gracias panreyes ahora entiendo..., solo me queda la última pregunta respecto al mismo tema de process. la pregunta es: un process sin frame, detiene todo (al igual que una function) hasta que termine de ejecutarse?
Sí

El código de los PROCESS se ejecuta hasta que llega a un "frame".
Un ejemplo:
Begin
uno();
dos();
while(!key(_esc))
say(4);
frame;
end
End
Process uno();
Begin
say(1);
frame;
say(3);
End
Process dos();
Begin
say(2);
frame;
End
Este sería su resultado:
1
2
4
3
4
4
4
4
4
...
BennuGD hará lo siguiente:
- Inicializa la instancia de uno(), escribe un 1 en consola y hace "frame"
- Inicializa la instancia de dos(), escribe un 2 en consola y hace "frame"
- El hilo principal (process main()) comprueba si se pulsa la tecla escape, y sino es así, escribe un 4 en consola y hace "frame"
- Todas las instancias de proceso han ejecutado su código y alcanzado un frame, así que se renderiza el fotograma (para diferenciarlo del frame del código) en pantalla.
- El gestor de instancias continua ejecutando el código de las instancias, según el orden de las locales "priority" e "id". (No te preocupes si no entiendes esto aún

)
- La instancia del proceso main() continua su ejecución desde su último "frame": comprueba si se pulsa la tecla escape, y sino es así, escribe un 4 en consola y hace "frame".
- La instancia del proceso uno() continua su ejecución desde su último "frame", escribe un 3 en la consola y hace "frame"
- La instancia del proceso dos() continua su ejecución desde su último "frame", alcanza el final (End) del proceso y se destruye su instancia.
- Todas las instancias de proceso han ejecutado su código y alcanzado un frame, así que se renderiza el fotograma en pantalla.
- La instancia del proceso main() continua su ejecución desde su último "frame": comprueba si se pulsa la tecla escape, y sino es así, escribe un 4 en consola y hace "frame".
- La instancia del proceso uno() continua su ejecución desde su último "frame", alcanza el final (End) del proceso y se destruye su instancia.
- Todas las instancias de proceso han ejecutado su código y alcanzado un frame, así que se renderiza el fotograma en pantalla.
- La instancia del proceso main() continua su ejecución desde su último "frame": comprueba si se pulsa la tecla escape, y sino es así, escribe un 4 en consola y hace "frame".
- Todas las instancias de proceso han ejecutado su código y alcanzado un frame, así que se renderiza el fotograma en pantalla.
- ...
(y así hasta que se pulse la tecla ESC)
El frame indica que la instancia está lista para mostrarse por pantalla, y cuando todas las instancias han llegado a un frame o han sido destruidas, es cuando se renderiza y se muestra el fotograma por pantalla. A su vez, el frame también devuelve el hilo de ejecución al proceso padre que lo acaba de instanciar (por eso el resultado es 1 (uno),2 (dos),4 (main),3(uno),4(main),4(main),4(main),4(main),4(main),etc...)
No se si te he ayudado con esta explicación o te he confundido más
