Une démo qui marche sur tous les PCs?

Posté le 18 janvier 2009, dans Développement.

L’absence de posts depuis environ deux semaines s’explique par le fait que j’étais en train de faire une modification en profondeur du moteur : je suis passé de Managed DirectX (MDX) à SlimDX.

Sous ces noms étranges se cachent des librairies permettant à du code C# de communiquer avec DirectX (et donc la carte graphique). La précédente (MDX) était la librairie officielle développée par Microsoft, mais ce dernier ayant choisi d’en arrêter le développement j’ai préféré passer sur une librairie maintenue à jour : SlimDX.

Concrètement pour l’utilisateur final, cela permet d’utiliser les applications utilisant le Tromoz Engine sur n’importe quel PC en installant simplement le runtime de SlimDX (7.9Mo).

Donc pour essayer cette démo, installez le runtime de SlimDX ICI et vous pourrez ensuite lancer la démo ICI. N’hésitez pas à essayer et à poster un petit commentaire pour me dire comment ça s’est passé (problème pour le lancer, fps, etc…).

[Edit] Petite précision, il faut avoir le Framework .net 3.5 installé pour faire marcher tout ça, et ça se trouve ICI.



7 commentaires pour "Une démo qui marche sur tous les PCs?"

gravatar

hellraiser  le 18 janvier 2009

J’ai fait un petit test sur mon portable
On stagne à 24 fps :’(

Ma config:
Intel Core2 Duo CPU T8100
4Go de ram
nVidia Corporation GeForce 8600M GT

gravatar

hellraiser  le 18 janvier 2009

Vivement la gestion des collisions avec une petite demo de FPS :D

gravatar

jerome  le 19 janvier 2009

Petit test depuis mon post sur vista

quad core q6600 avec 3Go de RAM, ça fait du 18FPS

et quand je ferme la démo avec un beau Alt F4 j’obtiens une erreur dont je t’offre la trace

System.NullReferenceException: La référence d’objet n’est pas définie à une instance d’un objet.
à Tromoz.Lib.Rendering.trlMesh.UnLoad()
à Tromoz.Lib.Game.Playground.trlLevelScene.Unload()
à Tromoz.MainForm.UnloadComponents()
à Tromoz.MainForm.OnClosing(CancelEventArgs e)
à System.Windows.Forms.Form.WmClose(Message& m)
à System.Windows.Forms.Form.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

gravatar

jerome  le 19 janvier 2009

pour info, ce serait sympa de mettre les pdb dans la démo, ça te permettrait d’avoir les numéros de ligne dans la trace

Jérôme

gravatar

Damien  le 22 janvier 2009

AMD Quad core, et une ATI 4850 HD, le soft tourne à merveille sur 130 fps.

Bonne suite !

gravatar

Spilarix  le 2 juillet 2009

Core i7 920 / 6 go DDR3 / Geforce GTX 275 / Win7 x64
Min : 152
Moyenne : 168
Max : 202

NB : Les sapins en été c’est pas trop crédible ;)

gravatar

cnakhli  le 22 septembre 2009

J’ai une exception lors du lancement de la demo:

SlimDX.DirectInput.DirectInputException: ERROR_INVALID_ACCESS & DIERR_NOTACQUIRED: The operation cannot be performed unless the device is acquired. (-2147024884)
à SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
à SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
à SlimDX.DirectInput.Device`1.GetCurrentState(DataFormat& data)
à SlimDX.DirectInput.Device`1.GetCurrentState()
à Tromoz.Lib.Input.trlInputs.PeekState()
à Tromoz.Lib.Input.trlInputs.GetCurrent()
à Tromoz.Lib.Game.Playground.trlLevelScene.Update()
à Tromoz.MainForm.TromosPaint(Object sender, PaintEventArgs e)
à System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
à System.Windows.Forms.Form.OnPaint(PaintEventArgs e)
à System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
à System.Windows.Forms.Control.WmPaint(Message& m)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
à System.Windows.Forms.ContainerControl.WndProc(Message& m)
à System.Windows.Forms.Form.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Assemblys chargés **************
mscorlib
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3074 (QFE.050727-3000)
CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
—————————————-
Tromoz
Version de l’assembly : 1.0.0.0
Version Win32 : 1.0.0.0
CodeBase : file:///C:/Users/cnakhli/Desktop/Tromoz/Tromoz.exe
—————————————-
System.Windows.Forms
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
—————————————-
System
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
—————————————-
System.Drawing
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
—————————————-
Tromoz.Lib
Version de l’assembly : 1.0.0.0
Version Win32 : 1.0.0.0
CodeBase : file:///C:/Users/cnakhli/Desktop/Tromoz/Tromoz.Lib.DLL
—————————————-
System.Xml
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3074 (QFE.050727-3000)
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
—————————————-
System.Configuration
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
—————————————-
mscorlib.resources
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3074 (QFE.050727-3000)
CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
—————————————-
SlimDX
Version de l’assembly : 2.0.6.40
Version Win32 :
CodeBase : file:///C:/Windows/assembly/GAC_32/SlimDX/2.0.6.40__b1b0c32fd1ffe4f9/SlimDX.dll
—————————————-
msvcm80
Version de l’assembly : 8.0.50727.3053
Version Win32 : 8.00.50727.3053
CodeBase : file:///C:/Windows/WinSxS/x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.3053_none_d08d7bba442a9b36/msvcm80.dll
—————————————-
System.Core
Version de l’assembly : 3.5.0.0
Version Win32 : 3.5.30729.1 built by: SP
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
—————————————-
System.Windows.Forms.resources
Version de l’assembly : 2.0.0.0
Version Win32 : 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
—————————————-

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L’application doit également être compilée avec le débogage
activé.

Par exemple :

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l’ordinateur
plutôt que d’être gérées par cette boîte de dialogue.

Laisser un commentaire

Security Code: