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?"
hellraiser le 18 janvier 2009
Vivement la gestion des collisions avec une petite demo de FPS
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)
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
Damien le 22 janvier 2009
AMD Quad core, et une ATI 4850 HD, le soft tourne à merveille sur 130 fps.
Bonne suite !
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
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.
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