TheoLogic Posted December 18, 2009 Share Posted December 18, 2009 LeadWerks has a great C implementation, you can get good looking results in a mum of time, but performance isn't what it should be. What I would like to see: - Support for lower specs - Multithreading (MUST) The problem is: having a good looking scene with gameplay at decent framerates is hard to get at this moment. Follow me Link to comment Share on other sites More sharing options...
Canardia Posted December 18, 2009 Share Posted December 18, 2009 Multithreading can be cores times faster, or cores times slower, depending on what you do. Usually it's faster when doing some non-memory intensive things on other cores, and slower when accessing memory on other cores. A quaranteed benefit of multithreading would be to put disk I/O related stuff to another core, then it doesn't matter if they are a bit slower, since they don't block the main core anymore. ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
L B Posted December 18, 2009 Share Posted December 18, 2009 Multithreading + OpenGL cannot theoretically be done. Although HDD I/O could be multitheaded, but it wouldn't boost much performance. Link to comment Share on other sites More sharing options...
Marleys Ghost Posted December 18, 2009 Share Posted December 18, 2009 LeadWerks has a great C implementation, you can get good looking results in a mum of time, but performance isn't what it should be. What I would like to see: - Support for lower specs - Multithreading (MUST) The problem is: having a good looking scene with gameplay at decent framerates is hard to get at this moment. why lower specs? and as far as I am aware (and could be wrong) OGL isn't taylored for multi threading. So I am not sure how these two suggections would increase framerates? AMD Bulldozer FX-4 Quad Core 4100 Black Edition 2 x 4GB DDR3 1333Mhz Memory Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5 Windows 7 Home 64 bit BlitzMax 1.50 • Lua 5.1 • MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro 3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET LE 2.5/3.4 • Skyline • UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0 Marleys Ghost's YouTube Channel • Marleys Ghost's Blog "I used to be alive like you .... then I took an arrow to the head" Link to comment Share on other sites More sharing options...
TylerH Posted December 18, 2009 Share Posted December 18, 2009 The physics, scene graph, etc. can be multi-threaded. Why does everyone always just try to negate the request for multi-threading? Instead of thinking of places where it CAN be used... nVidia 530M Intel Core i7 - 2.3Ghz 8GB DDR3 RAM Windows 7 Ultimate (64x)----- Visual Studio 2010 Ultimate Google Chrome Creative Suite 5 FL Studio 10 Office 15 ----- Expert Professional Expert BMX Programmer ----- Link to comment Share on other sites More sharing options...
L B Posted December 18, 2009 Share Posted December 18, 2009 Because the physics and scene graph have a minor load on the CPU/GPU, therefore I think people (Josh) doesn't like the work for gain ratio. Link to comment Share on other sites More sharing options...
Josh Posted December 20, 2009 Share Posted December 20, 2009 There are still a few things I can do to improve performance with points lights especially. Multithreading won't actually make that much of a difference, because most of the bottlenecks occur on the GPU. My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
TheoLogic Posted December 20, 2009 Author Share Posted December 20, 2009 Try using 20 character controllers doing their thing... And a lot can be done with multi threading, I support TylerH's vision on this. What would be really great is leadwerks adapting his specs for lower end computers... Follow me Link to comment Share on other sites More sharing options...
L B Posted December 20, 2009 Share Posted December 20, 2009 Try using 20 character controllers doing their thing... And a lot can be done with multi threading, I support TylerH's vision on this. What would be really great is leadwerks adapting his specs for lower end computers... For the character controllers, I agree. Although lower specifications support is quite impossible, since some of the basic shaders, i.e. query, require Shader Model 4.0 (unless I'm mistaken, that's what I recall from the previous forum). Link to comment Share on other sites More sharing options...
macklebee Posted December 20, 2009 Share Posted December 20, 2009 shader model 3.0 System Requirements Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590 LE / 3DWS / BMX / Hexagon macklebee's channel Link to comment Share on other sites More sharing options...
Marcus Posted December 21, 2009 Share Posted December 21, 2009 I also have worries about the character controllers. I am hoping to at least support 32 players in fps game. Is it the character controller that is causing the primary issues? Would it be beneficial to have some sort of "light" controller that would be less weight over the network? I'm assuming the root of the problem is the way Newton reacts with the player controller. Link to comment Share on other sites More sharing options...
Marleys Ghost Posted December 21, 2009 Share Posted December 21, 2009 What would be really great is leadwerks adapting his specs for lower end computers... What is the lowest spec you suggest and why? AMD Bulldozer FX-4 Quad Core 4100 Black Edition 2 x 4GB DDR3 1333Mhz Memory Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5 Windows 7 Home 64 bit BlitzMax 1.50 • Lua 5.1 • MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro 3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET LE 2.5/3.4 • Skyline • UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0 Marleys Ghost's YouTube Channel • Marleys Ghost's Blog "I used to be alive like you .... then I took an arrow to the head" Link to comment Share on other sites More sharing options...
cocopino Posted December 21, 2009 Share Posted December 21, 2009 As long as the recommended card remains a 8800, I see no problems there. This has been a recommended card for over two years now for many games. FPS can never be too high though, so any improvement there using multithreading is welcome. I also have worries about the character controllers. I am hoping to at least support 32 players in fps game. Is it the character controller that is causing the primary issues? Would it be beneficial to have some sort of "light" controller that would be less weight over the network? I'm assuming the root of the problem is the way Newton reacts with the player controller. If you're talking about a multiplayer game, you won't have 32 players on the same computer so you won't need 32 controllers. You'll probably need each player to send his coordinates/rotation to a server, and the server on each update will return the coordinates/rotation of the 31 other players. desktop: Quad core Q6600 + 4GB + ATI HD4890 + XP laptop: Dual core T6400 + 4 GB + NVidia 9600M GT + Vista 32 Link to comment Share on other sites More sharing options...
Marcus Posted December 21, 2009 Share Posted December 21, 2009 If you're talking about a multiplayer game, you won't have 32 players on the same computer so you won't need 32 controllers. You'll probably need each player to send his coordinates/rotation to a server, and the server on each update will return the coordinates/rotation of the 31 other players. I think you actually have the concept of a multiplayer gaming wrong. The players input gets sent to server which hosts ALL decision making, including all player controllers. The server updates/calculates the position of all controllers and then sends those positions to the client. Generally the client does nothing more than gather input, render the scene, play music, and transmit to and receive data from the server. If you allow the clients to send the positional data to the server, you will have massive amounts of cheating. All decision making and validation has to take place on ther server. Link to comment Share on other sites More sharing options...
Canardia Posted December 21, 2009 Share Posted December 21, 2009 I think you both got multiplayer gaming wrong The player sends a force vector to the server, which then does the same on his own game, and sends the force vector to all other clients also. So if nobody moves for 5 minutes, no data is sent (as opposed as in bad network code, where the positions are sent in regular intervals, regardless if they have moved, or if they are moving with the same speed). Multiplayer gaming must also work offline, and support bad network lag. This is done by sending data less often, or not at all when its not needed or possible, however the gameplay of the players should not be affected for other things except the multiplayer aspect then. ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
L B Posted December 21, 2009 Share Posted December 21, 2009 I think you both got multiplayer gaming wrong The player sends a force vector to the server, which then does the same on his own game, and sends the force vector to all other clients also. So if nobody moves for 5 minutes, no data is sent (as opposed as in bad network code, where the positions are sent in regular intervals, regardless if they have moved). Multiplayer gaming must also work offline, and support bad network lag. This is done by sending data less often, or not at all when its not needed or possible, however the gameplay of the players should not be affected for other things except the multiplayer aspect then. Good call. Let's hope curving doesn't mess this up too much. Will start networking sometime this month for my game. Link to comment Share on other sites More sharing options...
cocopino Posted December 21, 2009 Share Posted December 21, 2009 If you allow the clients to send the positional data to the server, you will have massive amounts of cheating. All decision making and validation has to take place on ther server. The server always should have the final word, eg: People who travel too fast or make impossible shots should be banned. When using 32 controllers you will inevitably encounter differences between players, and then what? Multiplayer gaming must also work offline, and support bad network lag. This is done by sending data less often, or not at all when its not needed or possible, however the gameplay of the players should not be affected for other things except the multiplayer aspect then. Multiplayer gaming must indeed support lag. But I never said/meant to say that a static player should be sending data to the server. Vectors can indeed be sent, many other things as well. However, I disagree the server should send data less often. IMO, the server should send MORE often because you'll be using the UDP protocol and don't know whether players received the data package. desktop: Quad core Q6600 + 4GB + ATI HD4890 + XP laptop: Dual core T6400 + 4 GB + NVidia 9600M GT + Vista 32 Link to comment Share on other sites More sharing options...
L B Posted December 22, 2009 Share Posted December 22, 2009 The server always should have the final word, eg: People who travel too fast or make impossible shots should be banned. When using 32 controllers you will inevitably encounter differences between players, and then what? Multiplayer gaming must indeed support lag. But I never said/meant to say that a static player should be sending data to the server. Vectors can indeed be sent, many other things as well. However, I disagree the server should send data less often. IMO, the server should send MORE often because you'll be using the UDP protocol and don't know whether players received the data package. So basically you're saying: "Send the data a couple of times, just in case it doesn't get there." Link to comment Share on other sites More sharing options...
Marcus Posted December 22, 2009 Share Posted December 22, 2009 So basically you're saying: "Send the data a couple of times, just in case it doesn't get there." I think he is more hinting at connection and connectionless protocols. It is important to remember that UDP is connectionless and makes no guarantee of packet arrival or their arrival order. Link to comment Share on other sites More sharing options...
Niosop Posted December 22, 2009 Share Posted December 22, 2009 Not in the protocol itself, but there's plenty of libraries that use UDP and implement their own layer on top that adds acknowledgement, packet ordering and guaranteed delivery. Windows 7 x64 - Q6700 @ 2.66GHz - 4GB RAM - 8800 GTX ZBrush - Blender Link to comment Share on other sites More sharing options...
macklebee Posted December 22, 2009 Share Posted December 22, 2009 Not in the protocol itself, but there's plenty of libraries that use UDP and implement their own layer on top that adds acknowledgement, packet ordering and guaranteed delivery. like Netwerks... Networking in Leadwerks Engine is based on the enet library. The fast UDP protocol is used as a base, but packets are correctly ordered or sent with a "reliable" flag for important data. Although the UDP protocol is "connectionless", the Leadwerks networking library automatically initializes and maintains network "connections" Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590 LE / 3DWS / BMX / Hexagon macklebee's channel Link to comment Share on other sites More sharing options...
Marcus Posted December 22, 2009 Share Posted December 22, 2009 Not in the protocol itself, but there's plenty of libraries that use UDP and implement their own layer on top that adds acknowledgement, packet ordering and guaranteed delivery. I wonder if it wouldn't be just be efficient at that point to just use standard UDP. I should look at RakNet to see what they are doing. Link to comment Share on other sites More sharing options...
TheoLogic Posted December 22, 2009 Author Share Posted December 22, 2009 shader model 3.0 System Requirements To write a good looking playable game you need the Recommended Requirements, and hope they do the trick... To explain myself a bit better: On lower specs I want my game to look like source (old version, be4 L4D) mods, with same framerates. How higher the specs, how better I want the game to look without loosing some framerate. This is used in professional engines like GameBryo, ... At this moment on mu NVidia 7950 GTX, and intel centrino duo the editor is slow as hell, taking 1 minute to change scene (even if I lower render options), so how do you want me to write some game code without that be speeded up? If I update 20 charactercontrollers (AI) I get 1 FPS, or 2 on a good day... Not talking about deployment! You can't deploy this to lower end specs, different systems have different artefacts, ... So for me it's quite simpel: fix bugs and optimize. Follow me Link to comment Share on other sites More sharing options...
cocopino Posted December 22, 2009 Share Posted December 22, 2009 Couldn't this be a driver problem, that NVidia isn't updating your card any more? Your card should be better than my NVidia 9600M GT, but that runs the Editor just fine... desktop: Quad core Q6600 + 4GB + ATI HD4890 + XP laptop: Dual core T6400 + 4 GB + NVidia 9600M GT + Vista 32 Link to comment Share on other sites More sharing options...
Canardia Posted December 22, 2009 Share Posted December 22, 2009 GeForce 7 drivers are still actively updated: GeForce/ION Driver Release 195Version: 195.62 WHQL Release Date: 2009.11.26 Operating System: Windows XP Language: English (U.S.) File Size: 88.5 MB However, Win7 makes OpenGL run around 20% slower than XP, so if you have a slow graphics card, you should use Windows XP. I have a GeForce 5 card (570M) on my laptop, and LE runs just fine with it. But I think GeForce 5 was kinda like GeForce 8800 - a high end card of its time. 3-4 year old high end cards still beat new low end cards of today ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Recommended Posts