[ Foro de Pascal ]

PROBLEMAS CON GRAFICOS EN FREE PASCAL

30-Sep-2013 23:26
Antonio Martin
4 Respuestas

Hola a todos:Al crear un gráfico con relleno de la figura o dibujo este relleno se efectúa muy lento. Así, un ejemplo con un  circulo:


setcolor(1);
setfillstyle(1,1);
circle(200,200,150);
floodfill(200,200,1);


Aparecerá el circulo y después baja el relleno de manera lenta.
Esto me ocurre con FREE PASCAL, tanto en windowXP como window8.
Un saludo y muy agradecido previamente.
Antonio.


02-Oct-2013 18:35
Antonio Martin

Hola a todos, nuevamente. Quizas en mi consulta no expliqué suficientemente claro mi deseo o mi ignorancia; por ello explicaré lo que deseo de ustedes:
Si me pueden explicar cómo evitar el efecto de que las "figuras se rellenen del color deseado tan lentamente" en Free Pascal. Pues con Turbo Pascal no me sucedia esto.
Muy agradecido de antemano.
Un Saludo.
Antonio.


02-Oct-2013 22:02
Nacho Cabanes (+83)

Tienes razón, el FloodFill es lento.

Ten en cuenta que Turbo Pascal estaba optimizado para una plataforma concreta (PC con MsDOS), mientras que Free Pascal debe tener un código más genérico, capaz de funcionar sin muchos cambios en cualquier plataforma, y normalmente eso supone que sea un código menos optimizado.

Además, un relleno en la forma en la que lo hace FloodFill debe ser una función recursiva, relativamente pesada, para que rellene de forma fiable figuras irregulares.

Y para colmo, en el caso de FreePascal había gente que se quejaba de que la implementación no era buena y que se podría acelerar mucho. Mira por ejemplo esta conversación en el "bugtracker" (seguimiento de fallos) de FreePascal, entre 2006 y 2009:

http://bugs.freepascal.org/view.php?id=2001

No sé hasta qué punto se ha mejorado, porque no uso FreePascal en Windows, sino en una máquina virtual de Linux para modo consola y Lazarus para programas "de ventanitas", así que no puedo probarlo ahora mismo... pero me creo que tengas razón y sea muy lento... y que no sea algo que se vaya a mejorar, porque la unidad Graph se usa ya muy poco.


04-Oct-2013 23:55
Antonio Martin

Si me pasé a Free Pascal es porque Turbo Pascal no funciona en window8 de 64. Solo soy un aficionado que utilizo la programación como jobi, pero mis conocimientos técnicos sobre ordenadores y lenguajes de programación son bastante bajos. Me replantearé si sigo con este jobi.
 Muy agradecido Sr Nacho y un Saludo de
   Antonio.


06-Oct-2013 12:20
Nacho Cabanes (+83)

El problema (en mi opinión) no es si seguir con el hobby o no, sino si replantear las herramientas.

Si quieres seguir con Pascal en modo consola y algo te desagrada de FreePascal, puedes seguir usando Turbo Pascal, pero no directamente desde un Windows 64 bits, sino con DosBox como emulador de MS-DOS. Se comportará como si estuvieras en un MS-DOS original.

Otra alternativa es usar Lazarus, y crear programas en Pascal para entornos "de ventanas" (y no dibujar en consola, sino en esas ventanas).

La alternativa final, dado que Pascal es un lenguaje cada vez menos usado, es aprender un lenguaje nuevo. Yo te recomendaría C# (si quieres algo con sintaxis parecida a C y C++, pero que sea más fácil para comenzar) o Python (si quieres algo moderno y con una sintaxis más natural).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)