Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-01-2013
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 21
MAXIUM Va camino a la fama
Cita:
Empezado por cocute Ver Mensaje
Pero que sentido tiene que haya dentro de un ejecutable por ejemplo 1mb seguido que es todo ceros?
Por qué no se optimiza más el tamaño los ejecutables al compilarse?
Cierto es que cada día es menos importante el tamaño, pero tampoco es como para derrocharlo sin razón.
Creo que deberias comprender en forma básica lo que significa la compresión de un archivo.

Por otra parte, un ejecutable exageradamente grande en comparación, es porque contiene información innecesaria como librerias que cargan otras librerias y funciones que no se usaran.

El problema biene desde decadas atras y se usaban técnicas para quitar cosas del código para que no enlazaran cosas que no se iban a usar, pero hoy en día hay mucho código "sobre cargado".

Imagina que cargas una librería de 1mb y de ella solo usaras una función que pesa apenas 30kb, ¿no sería mejor darse el trabajo de escribir ese código por separado?.

Bueno, todo depende del lenguaje que se utilice. Por ejemplo, una vez tuve en computador a modo de prueba, un sistema operativo con interface gráfica, aplicaciones básicas y todo en unos cuantos kilobytes, más aún, compilado a 64bit. Estaba programado enteramente en assembles

En tu caso práctico, revisa las opciones de compilación del proyecto. No se sobre Firemonkey, pero a lo menos en Lazarus me ayudo a bajar de 8mb a 1mb en una aplicación básica.
Responder Con Cita
  #2  
Antiguo 16-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
MAXIUM, me parece que tienes mal concebido cómo afectan las dependencias entre bibliotecas y funciones a la compilación de un proyecto.

Cita:
Empezado por MAXIUM Ver Mensaje
[...] un ejecutable exageradamente grande en comparación, es porque contiene información innecesaria como librerias que cargan otras librerias y funciones que no se usaran.
Esto es absolutamente falso, al menos en Delphi y otros buenos compiladores.

Para explicarlo de forma sencilla, cuando se crea un módulo ejecutable, dentro de él solamente se incluyen los métodos y las funciones que el programa potencialmente empleará para su ejecución. Si usas una clase T1, que tiene tres métodos públicos: Proc1, Proc2 y Proc3, y ninguna línea del código fuente del programa hace referencia a Proc2 (ni a otro elemento que requiera de Proc2), ese método no será compilado ni incluido dentro del ejecutable, precisamente porque no se usa. Y lo mismo ocurre con las funciones "sueltas" de una biblioteca a las que el programa no haga referencia directa o indirectamente.

Cita:
Empezado por MAXIUM Ver Mensaje
Imagina que cargas una librería de 1mb y de ella solo usaras una función que pesa apenas 30kb, ¿no sería mejor darse el trabajo de escribir ese código por separado?
Si es una biblioteca DLL no hay discusión, toda la DLL se carga. Pero si con "librería" te refieres a una biblioteca de clases / funciones en código fuente, sólo se ha de incluir en el ejecutable lo que el programa necesita.

Cita:
Empezado por MAXIUM Ver Mensaje
Bueno, todo depende del lenguaje que se utilice.
Así es, y el compilador de Delphi está bastante bien diseñado para evitar incluir código innecesario en los ejecutables.

Por otra parte, comparto la idea de que hay que buscar en las opciones de compilación, revisar qué código es el que se está incluyendo al usar FireMonkey, y además qué posibles recursos se están enlazando, para intentar encontrar la razón del tamaño de esos ejecutables.

Saludos aclaratorios y desmitificadores.

Al González.
Responder Con Cita
  #3  
Antiguo 19-01-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
cocute,

Cita:
Empezado por cocute
¿Por qué ocupan tanto los ejecutables creados con Firemonkey?
Revisa estos links:
Cita:
Create Smaller Delphi XE Executables: Remove RTTI, Pack EXE
http://delphi.about.com/b/2011/07/26...i-pack-exe.htm

Compiler Settings for Embarcadero Delphi XE3
http://support.smartbear.com/viewarticle/34825/
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 19-01-2013 a las 21:14:04.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tutoriales de FireMonkey cmfab FireMonkey 2 27-08-2012 14:28:30
Firemonkey/Ios vs FreePascal bbasas FireMonkey 3 28-06-2012 12:10:47
¿FireMonkey reemplazará a la VCL? manuc FireMonkey 13 22-03-2012 03:00:49
Firemonkey ElDioni La Taberna 19 28-10-2011 11:25:40
Campos creados dinámicamente vs creados estáticamente Jose_Pérez Conexión con bases de datos 2 14-04-2004 11:34:03


La franja horaria es GMT +2. Ahora son las 03:25:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi