![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola Agustín.
Seguro que tienes razón y existe alguna manera más eficiente de generar el tablero. Pero seguramente no sea lo que más retrasa. Te explico. He hecho comprobaciones de tiempo con la Tableta, que es el dispositivo más lento, para ver las diferencias. Como te dije, he hecho una prueba implementando una pantalla de bienvenida en un form con un botón que es el que llama al form donde está implementado todo el programa con Forrm2.Show. En el procedimiento OnShow hace toda la generación del programa incluido el generador del tablero. Los resultados son los siguientes: En cargar todo el programa y la pantalla de bienvenida tarda 18/19 seg. Al pulsar el botón llama al procedimiento OnShow y tarda 11/12 seg. Evidentemente, la mayor parte del tiempo de espera se la lleva la carga del programa. Te recuerdo que el programa, sin pantalla de bienvenida, en Windows tarda en cargar y presentar el primer tablero UN SEGUNDO ESCASO. Voy a estudiar el enlace que me dejaste y te cuento. Saludos. |
|
#2
|
||||
|
||||
|
Cuantos y que componentes tenés en el form?
|
|
#3
|
|||
|
|||
|
Hola a todos.
Agradeciendo el desinteresado interés que habéis puesto ambos en ayudarme. Para los que defienden lo "indefendible" (Neftalí) Para los que creen que tengo cosas raras y pesadas en mi código (Agustín) Para el que quiera escucharlo. He hecho más pruebas.
Aquí tenéis un código muuuuuuiiiiii peeeeesaaaadoooo. Ninguna TLabel tiene más de 4 palabras. ¿A que no sabéis lo que tarda en aparecer la pantalla en mi tableta Samsung GalaXY Tab 3? Bien. Probarlo vosotros y la solución mañana. Saludos. |
|
#4
|
|||
|
|||
|
Por cierto. Agustín.
El link que me me dejaste, he estado trabajando toda la tarde con él y tres cosas: 1.- El código bajado no compila. No encuentra el directorio c:\res (Es el error que da). 2.- Generando un proyecto nuevo y copiando el código. Intenta poner en marcha la unidad Principal2.pas (que es el programa de Sudoku) y el sistema Android de la misma tableta lo aborta antes de verse la pantalla del Sudoku. 3.- Este método es muy similar al que yo estoy utilizando con la unidad que he colgado más arriba ampliado en un único procedure llamado Button1Click() y que lleva el código siguiente:
Este es el esquema del programa de la unidad Principal2.pas que lleva todo el programa de Sudoku
Y con esto si que arranca el programa Sudoku, pero tarda en salir la pantalla de TPrin, (que es la pantalla de bienvenida) (os lo digo porque ya es mañana) 18 segundos con el código que os he puesto. Y después de pulsar el Button1, tarda otros 12 segundos en arrancar el programa de TPrinci (o sea el programa verdadero de Sudoku). Estuve mirando seriamente lo de los hilos, como dijo Neftalí, pero no encontré cómo implementarlos y sospecho que el programa lanzador tardará otros 18 segundos (en negro) en arrancar, con la fea e innecesaria imagen que transmite esa pantalla que todos sabemos que es de relleno y de espera. Saludos. Buenas noches. Última edición por jhonalone fecha: 11-04-2016 a las 00:50:25. |
|
#5
|
||||
|
||||
|
Los thread no van a ser la solucion, al menos no de manera simple. En lo unico que te puede ayudar un thread es si implementas el codigo en paralelo, y como dije, es algo muy complicado a menos que entiendas que son los deadlocks, como compartir recursos entre varios hilos, y como permitir a esos hilos que escriban en el mismo recurso
Yo he hecho aplicaciones Android simples y tambien "complejas" por ejemplo que se conectan a servidores remotos, guardan informacion en forma local, y muestran tablas de bases de datos y no he tenido grandes problemas No me respondiste la pregunta Si realmente creas un form con 4 label no te puede tardar ni 12 ni 18 segundos nunca |
|
#6
|
|||
|
|||
|
Hola de nuevo, Agustín.
Es cierto, no te he respondido a tu pregunta por que realmente son muchos controles. Tampoco tú has hecho la prueba con el código que he copiado más ¡arriba. Solo este código tarda 18 seg. en arrancar la tableta de referencia. Sin ninguna instrucción y sin más código que el que he copiado antes. Solo para mostrar la pantalla, un contenedor TScaledLayout, 4 etiquetas de menos de 4 palabras y un boton sin siquiera el procedure Button1Clic() ¡¡¡Tarda 18 seg.!!! en el dispositivo indicado. Me gustaría que alguien hiciera la prueba. Quizá mi dispositivo no funciona correctamente... Aunque tengo que decir que todos los programas que tiene arrancan casi instantáneamente incluidos los AJUSTES, que tiene una lista bastante grande con una imagen cada item. Ah se me olvidaba comentarte que, en mi tableta, el programita en cuestión (El de las 4 etiquetas y un botón vacío) ocupa 53,46 MB y el de Sudoku completo 54,98 MB. Por favor que alguien me lo explique... SALUDOS. |
|
#7
|
||||
|
||||
|
No he hecho la prueba porque no tengo Delphi para Android para jugar en mi casa. Ademas no tengo una tablet como la que comentas, yo solamente puedo hablar de los dispositivos con los que probe
Te puedo decir que experimentos si he hecho, varias programitas "versatiles" con varios form, frames, objetos, listas, base de datos, invocaciones rest.. y no ha habido problemas Entre los dispositivos que usamos, no hay ningun "tope" de gama. De hecho una es una tablet "generica", aunque si es cierto que cuenta con 4 procesadores y 1 gb de ram; tampoco es tan mala. Corre en un Android 4.4 El otro dispositivo de diferencia es un telefono Motorola Moto G 2013. Este tambien es un quad-core y cuenta con 1gb de ram, es muy similar en rendimiento a la tablet. Este corre en Android Lollipop 5.1 Lo del tamaño si que lo entiendo y eso no tiene solucion. Me explico, firemonkey es una plataforma "nativa" pero para funcionar tiene que tener incluido cierto runtime. Si la memoria no me falla, la unidad de codigo se llama FMX.StartUp o similar, si quitaras esa unidad el tamaño del ejecutable baja drasticamente pero obviamente no funciona. Es por eso que programas que en apariencia son muy grandes ocupan casi lo mismo a uno vacio: porque se copia todo el runtime que da soporte a FMX. Lo que si es realmente una pega es que dicho runtime tengamos que desplegarlo siempre y en cada aplicacion, y no una vez por dispositivo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| BASS Firemonkey Radio Player Delphi XE7 - Pantalla Negra en Android | wolfran_hack | FireMonkey | 3 | 27-07-2021 18:04:30 |
| pantalla negra en motorola droid a855 | kurono | Desarrollo en Delphi para Android | 5 | 21-03-2015 00:15:39 |
| Android SQLite pantalla negra | Davidecr | Desarrollo en Delphi para Android | 9 | 17-03-2014 18:41:09 |
| Delphi + WebCam + Pantalla Negra | pape19 | Varios | 6 | 21-12-2012 01:32:00 |
| Capturar Pantalla = Pantalla negra | DarkDudae | Gráficos | 8 | 27-10-2008 12:29:36 |
|