Captain_Rage Posted April 24, 2017 Share Posted April 24, 2017 I got a question and want to ask the community about their experiences with DST and different kinds of processors. What tends to works better, a CPU with fewer cores (let's say two) running at a higher frequency or a CPU with more cores albeit at a comparably lower frequency? Is DST good at utilizing many cores? For those who have been able to to compare Intel processors; does Hyper-threading have a big impact on DST? For those who have been able to compare AMD processors; does Simultaneus Multi-Threading have a big impact on DST? I don't know how well DST can utilize these technologies, but it would be nice to know if they make any significant difference for CPU's with the same number of cores at similar frequencies. The usage scenario that I'm thinking about is running a non-dedicated game with 2 shards (surface + caves) and 5-6 players. It would be very interesting to know how well DST runs on AMD's new Ryzen processors also, if anyone can chime in on that. A quote from the wiki (http://dontstarve.wikia.com/wiki/Lua): Quote "Lua is a lightweight scripting language that is used by the game engine which runs Don't Starve. The core game is written in C++, although all game prefabs and modifications for the game are written in Lua. Lua is free to download, and is released under the MIT license. To learn more about Lua, visit the official website at Lua.org. This typed scripting language is compact enough to fit on a variety of platforms. It supports only a small number of data structures such as boolean values, numbers, and strings. Lua implements a small set of advanced features such as first-class functions, garbage collection, closures, proper tail calls, coercion (automatic conversion between string and number values at run time), coroutines (cooperative multitasking) and dynamic module loading." According to this text it sounds like DST could benefit fairly from multiple cores. However, the wiki article might be outdated (I assume that DST received a moderate number of tweaks and modifications upon its conception) and it is always relevant to hear about the first-hand experiences from the users. Cheers. Link to comment Share on other sites More sharing options...
Developer nome Posted April 24, 2017 Developer Share Posted April 24, 2017 Very much not a multi-core friendly game. We have some stuff shunted off to other threads, and caves/overworld use different processes, but each world's lua is a single thread of execution that cannot benefit from a second core Link to comment Share on other sites More sharing options...
Mudley Posted April 25, 2017 Share Posted April 25, 2017 54 minutes ago, nome said: Very much not a multi-core friendly game. We have some stuff shunted off to other threads, and caves/overworld use different processes, but each world's lua is a single thread of execution that cannot benefit from a second core Since we are talking about threading, one technical question: What you guys use for threading? SDL's own threading functions; C++'s thread class(assuming the game was written in C++11 or above.); or another API entirely? Link to comment Share on other sites More sharing options...
Developer PeterA Posted April 25, 2017 Developer Share Posted April 25, 2017 @Mudley, since our game is multi-platform, we've got our own platform independent layer over many of the system specific apis. That's a fairly common approach for game engines that work on a wide array of platforms. Link to comment Share on other sites More sharing options...
brbrmensch Posted April 25, 2017 Share Posted April 25, 2017 yeah, fun times, you can run 8-layered world fine and yet can't spawn 1000 poop with no huge lag happening Link to comment Share on other sites More sharing options...
Captain_Rage Posted April 25, 2017 Author Share Posted April 25, 2017 Oh, I see. This information is very useful, although a bit surprising. Will keep this in mind for the future. Much obliged for sharing it with us! Link to comment Share on other sites More sharing options...
Sudura2017 Posted April 25, 2017 Share Posted April 25, 2017 18 hours ago, nome said: Very much not a multi-core friendly game. We have some stuff shunted off to other threads, and caves/overworld use different processes, but each world's lua is a single thread of execution that cannot benefit from a second core Huh, cool. So a quad-core could run say, DS, Caves, alternate DS, alternate Caves? Link to comment Share on other sites More sharing options...
Developer PeterA Posted April 25, 2017 Developer Share Posted April 25, 2017 37 minutes ago, Sudura2017 said: Huh, cool. So a quad-core could run say, DS, Caves, alternate DS, alternate Caves? Yeah, should be able to, but you'd probably want to have the client running on a different machine. Link to comment Share on other sites More sharing options...
Sudura2017 Posted April 25, 2017 Share Posted April 25, 2017 Just now, PeterA said: Yeah, should be able to, but you'd probably want to have the client running on a different machine. Figured as much, thanks! First dev to like my post. I feel special. Link to comment Share on other sites More sharing options...
Developer nome Posted April 25, 2017 Developer Share Posted April 25, 2017 38 minutes ago, Sudura2017 said: Huh, cool. So a quad-core could run say, DS, Caves, alternate DS, alternate Caves? That's correct. Link to comment Share on other sites More sharing options...
Sudura2017 Posted April 25, 2017 Share Posted April 25, 2017 9 minutes ago, nome said: That's correct. Dang. No nome like? How about for a Potato Cup? Uh... a spiritual potato cup? <there should be one here but it disappears on submit> does it work now EDIT: wow, this worked. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.