Allocation de plus de 2Go par OR...

Vous avez des astuces pour rendre ORTS plus agréable. Venez les poster ici.

Modérateur : Modérateurs

Avatar du membre
fred37
Messages : 465
Enregistré le : 29 sept. 2006 15:29
Localisation : Savigné Sur Lathan (37)
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar fred37 » 31 mars 2014 21:09

Re,

Humm mon simple avis serait de faire une compilation de cet exécutable en 32 bits et 64 bits suivant les configs... Et le problème serait résolu...


32bits + 4gb_patch pour retirer la limite des 3GO des applications 32 bits
64bits rien a y faire

A+

Avatar du membre
BB25187
Administrateur
Messages : 15057
Enregistré le : 09 mai 2004 1:07
Localisation : Grenoble
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar BB25187 » 31 mars 2014 21:27

Reuh reuh,

Yep, mais il me semble que les versions gratuites de Visual ne permettent pas de compiler pour 64b. D'où toutes ces contorsions.
En fait il y a deux cas de figure distinctes:
- La diffusion des versions précompilées - Là, la méthode des deux fichiers RunActivity (et son option associée maintenant) fonctionne bien. Mais James compile sans doute avec une version payante et plus récente de Visual. Ca s'est bien vu quand il a commencé à introduire les "contributions" pour "TrackViewer": on se prenait une erreur à l'ouverture du projet avec Visual 2008. Ca a été modifié depuis pour éviter ça.
- La recompilation "à la maison" de sources modifiées. Là, la solution des doubles fichiers diffusés n'est d'aucune aide. C'est peut-être pour ça que le fichier LAA n'est pas diffusé via SVN? J'imagine que si on dispose d'une autre version que Visual 2008, on doit pouvoir générer le fichier "LAA" aussi? Sinon et en attendant mieux, le 4Gb-patch reste bien utile!
A savoir aussi que les efforts faits pour supporter des formats de textures plus économes peut sans doute aider à ne pas exploser la mémoire sur les zones chargées. Mais en revanche elle rompt la compatibilité ; et tant qu'on ne dispose pas d'un éditeur capable de traiter des contenus modifiés de cette façon, c'est une voie assez peu pertinente.

A+
"Er ist ein Unmensch, ein Tyrann!" - Tamino - Erster Akt - Die Zauberflöte.
____________________________________________________________

Image

Avatar du membre
fred37
Messages : 465
Enregistré le : 29 sept. 2006 15:29
Localisation : Savigné Sur Lathan (37)
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar fred37 » 02 avr. 2014 5:46

Bonjour,

J'ai regardé très brièvement sous Visual Express 2008, il y a bien une fonction de choix de compilation, actuellement tout les fichiers sont en X86 (logique pour qu'ils soient compatible avec le plus grand nombre d'utilisateurs), hélas j'ai pas trop bien saisi comment tout passer en X64, j'y arrive sur certains fichiers mais pas sur tous, une fois tout compiler j'ai forcement un rejet "blabla a cessé de fonctionner"... J'ai donc laisser tombé, ayant trop peux de connaissance dans ce domaine.

Autre idée à peut être proposer pourquoi ne pas ajouter dans les options une case avec l'indication de
l'allocation mémoire que nous souhaiterons donner a l'instar du BinPach de MSTS (-mem: XXXX)...

<2<
@+
Fred.

Je retourne bosser le patron va pas rigolé si il me voit entrain de flâner sur le net. <3<

Avatar du membre
Sharpe49
Messages : 319
Enregistré le : 23 août 2010 4:46
Localisation : Lyon (69)

Re: Allocation de plus de 2Go par OR...

Messagepar Sharpe49 » 03 avr. 2014 15:30

Salut,

Pour faire même plus simple, tu ne peux pas compiler OR en 64 bits pour des raisons de bibliothèques : XNA n'a pas été compilé en 64 bits, d'où l'obligation d'utiliser le mode 32 bits.

L'option -mem serait inutile sur OR : par défaut, OR va chercher la mémoire dont il a besoin. S'il y a une limitation à 2 Go, c'est à cause du système d'exploitation qui limite à 2 Go de mémoire allouée pour un programme compilé en 32 bit.
Les astuces citées permettent à OR d'allouer plus de mémoire soit 3 Go sur un système d'exploitation 32 bit et 4 Go sur un système d'exploitation 64 bit.
Bien sûr, pour un programme 64 bits sur un système d'exploitation 64 bits, il n'y a pas de limites réellement atteignable.

Le programme patch 4Gb utilise une fonctionnalité du programme editbin de Microsoft Visual Studio : il applique le drapeau LargeAddressAware au programme.
En gros, il fait un équivalent de la commande suivante : editbin /largeaddressaware <Nom du programme>
Pour info, j'ai réussi à mettre ça dans ma procédure de compilation d'OR ce qui applique donc le drapeau automatiquement.

Pour les 3Go sur Windows 32 bit, il faut démarrer Windows avec le paramètre /3GB dans le fichier boot.ini. Mouais... de toute manière, aujourd'hui, vaut mieux avoir un PC 64 bit...
Cédric Gniewek
Développeur Open Rails

Scripts Open Rails pour matériel roulant : signalisation française et robinet de freinage PBL2
https://github.com/Sharpe49/OpenRails_Scripts

Avatar du membre
fred37
Messages : 465
Enregistré le : 29 sept. 2006 15:29
Localisation : Savigné Sur Lathan (37)
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar fred37 » 03 avr. 2014 19:09

Bonsoir,

Merci pour l'info Xna est effectivement pas développé en 64 bits.

Ensuite en ce qui concerne le fichier Runactivity.exe cela n'a rien avoir avec ta disponibilité mémoire, n'y ta version de windows 32 ou 64, mais bien la façon de sa compilation, ici en 32 bits. Que tu sois en Windows X86 avec 2Go ou Windows X64 avec 32Go de ram ce dernier est biridé a 2Go d'allocation mémoire.

Je tourne en 64 bits, et cela m'a arrivé de me faire jeter faute de mémoire, pourtant j'ai 8Go de ram. Car la limite de OR a été atteinte au alentour de 2Go passé...

C'est pour cette raison qu'il existe la version RunactivityLLA.exe, pour Large Adress ?2? Qui détourne le problème d'allocation mémoire, de ce programme 32 bits.

Donc l'option de choix de la quantité mémoire reste viable, surtout pour des configs plus petite.

@+
Fred.

Avatar du membre
Sharpe49
Messages : 319
Enregistré le : 23 août 2010 4:46
Localisation : Lyon (69)

Re: Allocation de plus de 2Go par OR...

Messagepar Sharpe49 » 03 avr. 2014 19:33

Bonsoir,

Je te le réaffirme, ce n'est pas manipulable par le programme. C'est Windows (64 bit) qui, en voyant le drapeau LargeAddressAware sur l'exécutable 32 bit, autorise des allocations au delà des 2 Go, en l'occurence jusqu'a 4 Go. L'exécutable LLA a justement ce drapeau ce qui n'est pas réalisé lors de la compilation mais apres l'exécution d'editbin.

De toute manière, sur de petites configurations, avec une RAM pleine, OR va être fermé par Windows pour raison de manque de mémoire. Pour limiter l'utilisation de la mémoire, on peut jouer sur la distance de visibilité.
Cédric Gniewek
Développeur Open Rails

Scripts Open Rails pour matériel roulant : signalisation française et robinet de freinage PBL2
https://github.com/Sharpe49/OpenRails_Scripts

Avatar du membre
fred37
Messages : 465
Enregistré le : 29 sept. 2006 15:29
Localisation : Savigné Sur Lathan (37)
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar fred37 » 03 avr. 2014 19:55

Hello,

D'accord donc cela n'est pas applicable directement pas le binaire de RunActivity... Fallait le dire plus tôt <3<

Mais par contre ce que je disais au niveau de OR et de la mémoire:

OR compilé en 32 bits donc Windows X86 ou X64 utilisera au max 2go de ta rams quelque soit la disponibilité mémoire, OR ne gère en rien son besoin maximum juste sa limite.

Retour aux moutons le patch découvert par Vincent a effectivement encore son intérêt actuellement. Tout comme la version RunActivityLLA.exe

XNA n'étant plus développé. Il n'y aura jamais de OR 64 dommage. A moins de passer a monogame (open source de XNA 4.0) mais c'est une autre histoire.

Pour les "petites config", virez tout les effets lumineux genre Dynamic Shadow et là c'est déjà 10 a 30% de mémoire supplémentaire.

Merci de cette "causette".

@+
Fred.

nicober
Modérateur
Messages : 2200
Enregistré le : 21 févr. 2004 22:36
Localisation : Québec (Qc) Canada
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar nicober » 03 avr. 2014 20:27

Bonsoir

Hello Sharpe49!

Sharpe49 a écrit :Pour les 3Go sur Windows 32 bit, il faut démarrer Windows avec le paramètre /3GB dans le fichier boot.ini. Mouais... de toute manière, aujourd'hui, vaut mieux avoir un PC 64 bit...


OK! mais en attendant de passer avec un système à 64 bit il faut faire avec ce que l'on a. Maintenant le fichier boot.ini n'existe plus sous Windows 7, car il a été remplacé par les données de configuration de démarrage (BCD, Boot Configuration Data). Ce fichier offre davantage d’options que le fichier boot.ini, et il fonctionne avec d’autres plateformes informatiques qui utilisent d’autres systèmes que le BIOS (basic input/output system) pour démarrer l’ordinateur. Il est possible de faire des changements avec BCD Edit mais il semble que cela soit très délicat à faire et surtout, non sans risque de voir son PC planter définitivement. Il existe aussi un petit utilitaire appelé EasyBCD qui serait plus facile à utiliser, mais sur les forums on ne parle que de la création d'un dualboot si Windoz est installer seul et d'ajouter d'autres OS. Mais rien trouver jusqu'ici pour l'allocation de 3Go au lancement de Windows7 32 bits.

Comment faire cette manipulation sous Windows (Vista & 7) en toute sécurité :8:

Merci de votre attention.
Nicober

«La Terre n’appartient pas à l’Homme, c’est l’Homme qui appartient à la Terre.»
[ Sitting Bull ]

Avatar du membre
Sharpe49
Messages : 319
Enregistré le : 23 août 2010 4:46
Localisation : Lyon (69)

Re: Allocation de plus de 2Go par OR...

Messagepar Sharpe49 » 03 avr. 2014 20:36

Cédric Gniewek
Développeur Open Rails

Scripts Open Rails pour matériel roulant : signalisation française et robinet de freinage PBL2
https://github.com/Sharpe49/OpenRails_Scripts

Avatar du membre
fred37
Messages : 465
Enregistré le : 29 sept. 2006 15:29
Localisation : Savigné Sur Lathan (37)
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar fred37 » 03 avr. 2014 20:43

Hello,

Nicober et autres membres voici deux sujets qui peuvent peut-être (vous)t'aider (.

Ici un exemple "Windows 8.1 32bits" peux gérer plus de 3Go de mémoire en le tripatouillant un peux. (car depuis 1995 les processeurs utilisent le PAE (Page Address Extension) ce qui signifie que le processeur peux lire des instructions chiffré en 64bits)

Les 2 articles sont en anglais désolé pour les non anglophone.

La preuve sur cette article il gère 8GO ICI

Pour windows vista et windows 7, la procédure existe aussi ICI

Pas besoin de passer sur un autre système d'exploitation pour upgrader son PC rien que pour de la mémoire et heureusement, si le matériel le permet faut le faire.

Pour plus d'info une petite recherche google avec " 3GB Barrier "

@+
Fred.

Avatar du membre
Sharpe49
Messages : 319
Enregistré le : 23 août 2010 4:46
Localisation : Lyon (69)

Re: Allocation de plus de 2Go par OR...

Messagepar Sharpe49 » 03 avr. 2014 22:03

Re,

Je rappelle cependant que les liens que tu proposes donnent des solutions illégales : le fameux patch PAE modifie le noyau de Windows qui est la propriété de Microsoft, donc illégal.
Les noyaux de Microsoft autorisés pour le PAE à plus de 4 Go de RAM ne sont compris que dans les éditions Server de Windows.

La méthode d'activation autorisée est ici :
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366796(v=vs.85).aspx?siteID=rGMTN56tf_w-k6bBypMHFuhd.GCG9DUuHQ
Cependant, vous serez limités par les limites définies par Microsoft, comme défini dans les parties Physical Memory Limits de ce document :
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx
Soit 4Go pour Windows 7 32 bit avec PAE, ce qui est mieux... a priori.
Or, l'activation du PAE avec des drivers qui ne sont pas prévu pour peut vous causer des plantages (BSOD). Les drivers pour les versions Server de Windows le sont. Ce qui n'est pas en général le cas pour les versions grand public, d'où le fait que cette technique ne soit jamais mise en œuvre sur du matériel grand public.

Pour information, le PAE a toujours été considéré comme un hack, que ce soit sur Windows que sur Linux. Linus Torvalds, créateur de Linux, a toujours été contre son intégration dans le noyau, mais a cédé sous la pression de ses développeurs.
Et plus exactement, le PAE n'étend pas les adresses à 64 bit mais à 36 bit, d'où les 64 Go de mémoire maximale. Attention, cela n'a rien à voir avec les instructions qui sont de longueur variable entre 8 et 128 bits sur les processeurs x86 (architecture Intel).

Une autre limitation de la mémoire peut aussi venir (souvent même) du BIOS de votre carte mère.
Pour exemple, les cartes mères actuelles ne peuvent en général pas supporter des barrettes mémoire de plus de 4 Go, d'où une limite de 16 Go sur des cartes mères à 4 connecteurs DIMM (32 Go sur les plus chères à 8 connecteurs).
Les cartes mères de l'époque où Windows 32 bit était le plus répandu avaient le même genre de limitation à 1 Go ou 2 Go selon les modèles d'où une limite (pour 4 connecteurs) entre 4 et 8 Go.
Exemple : Carte mère Intel Pentium D : 4 Go max sur 4 barrettes.
Carte mère Intel Core 2 Duo : 8 Go max sur 4 barrettes (normal : c'est une carte mère qui peut accueillir des processeurs 64 bit)
Cédric Gniewek
Développeur Open Rails

Scripts Open Rails pour matériel roulant : signalisation française et robinet de freinage PBL2
https://github.com/Sharpe49/OpenRails_Scripts

nicober
Modérateur
Messages : 2200
Enregistré le : 21 févr. 2004 22:36
Localisation : Québec (Qc) Canada
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar nicober » 04 avr. 2014 3:51

Bonjour

Merci à vous deux Sahrpe49 et Fred pour vos réponse rapides avec les liens dont j'ai pris bonne note. ?2?

Amicalement!
Nicober

«La Terre n’appartient pas à l’Homme, c’est l’Homme qui appartient à la Terre.»
[ Sitting Bull ]

Avatar du membre
fred37
Messages : 465
Enregistré le : 29 sept. 2006 15:29
Localisation : Savigné Sur Lathan (37)
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar fred37 » 04 avr. 2014 6:40

Bonjour,

Solution illégale ou pas ?? Est-ce légale de bridé un logiciel dont tu paye une licence (cela a un nom Force de Vente)... et que quelque temps après on te dit votre version est devenu une EOL (end of live)... C'est l'histoire d'argent plus il développe de version comme ici les X86 et X64, plus il gagne.

Ensuite nous donnons juste des informations pour aider les personnes n'ayant pas dans leur budget actuel de changer de machine. Si cela reste entre tes 4 murs de maison, pas de problème tu fais ce que tu souhaites.

En espérant qu'avec les solutions données vous pourrez vous amuser plus longtemps avec vos PC actuel.

**Fin du HS** retour au sujet principal.

Cordialement
Fred.

Avatar du membre
Sharpe49
Messages : 319
Enregistré le : 23 août 2010 4:46
Localisation : Lyon (69)

Re: Allocation de plus de 2Go par OR...

Messagepar Sharpe49 » 04 avr. 2014 9:05

Salut,

Est-ce légal de brider son logiciel ? Oui, on appelle ca faire des gammes.
Est-ce que les développeurs gagnent beaucoup à développer des drivers qui supportent le PAE ? Probablement pas. Pour eux la version 64 bit suffit à repondre au problème de RAM supplémentaire.
Enfin, est-il vraiment utile pour Microsoft de proposer le PAE sur les versions 32 bit alors que la version 64 bit propose d'aller plus loin pour le même prix ?
La réponse est non. D'ailleurs, le PAE a été proposé par Intel lorsque le 64 bit n'existait pas. A l'époque, il avait un sens : les PC grand public étaient en dessous de 2 Go de RAM, alors que les PC pro avaient besoin d'encore plus de mémoire. Aujourd'hui, ce n'est plus le cas à cause de la présence d'une version 64 bit de Windows.

Pour conclure, on peut même dire Windows 7 32 bit était déjà une version condamnée du fait que tous les PC neufs ont désormais au moins 4Go de RAM.

Si tu veux à tout prix utiliser le PAE gratuitement, légalement et sans bug, une solution existe : Linux. Mais si c'est pour passer à Linux... autant passer sur sa version 64 bit.

Au sujet de la fin de vie de Windows XP, en même temps Microsoft à proposé un des supports les plus longs pour une version d'un logiciel grand public (11 ans si je ne me trompe pas). Je pense qu'il n'y a pas de raison de se plaindre sur ce point.
Par contre, il est vrai qu'on peut les critiquer sur un point : la trop grande difficulté de passer sur une version 64 bit. Réinstallation complete et changement de licence pour les licences OEM (fournies avec le PC).
Cédric Gniewek
Développeur Open Rails

Scripts Open Rails pour matériel roulant : signalisation française et robinet de freinage PBL2
https://github.com/Sharpe49/OpenRails_Scripts

Avatar du membre
BB25187
Administrateur
Messages : 15057
Enregistré le : 09 mai 2004 1:07
Localisation : Grenoble
Contact :

Re: Allocation de plus de 2Go par OR...

Messagepar BB25187 » 04 avr. 2014 18:34

Hello,

fred37 a écrit :Solution illégale ou pas ?? Est-ce légale de bridé un logiciel dont tu paye une licence (cela a un nom Force de Vente)...


On dérive, on dérive... et franchement ce débat là sort aussi des sujets qui nous intéressent sur ce forum.

fred37 a écrit :**Fin du HS** retour au sujet principal.


Voilà.
Merci!

A+
"Er ist ein Unmensch, ein Tyrann!" - Tamino - Erster Akt - Die Zauberflöte.
____________________________________________________________

Image


Retourner vers « ORTS: Trucs et astuces »