Recommended Posts

Ryne21    34

Enabling Texture steaming seems to cause random fps drops for me, so I keep it disabled for a smooth 60fps but still, really hope to check this out. Can you put me the link to get the .zip file and the tutorial probably? ( Im using windows)

Share this post


Link to post
Share on other sites
ShadowDuelist    6535

Question: does this require manual fixes or updates when the game self updates, or will the game auto update as usual without having to install/move extra things?

I know nothing about programming or modding, so feel free to roll eyes if its a silly question :-D

  • Like 1

Share this post


Link to post
Share on other sites
hyiltiz    488
8 minutes ago, ShadowDuelist said:

Question: does this require manual fixes or updates when the game self updates, or will the game auto update as usual without having to install/move extra things?

I know nothing about programming or modding, so feel free to roll eyes if its a silly question :-D

I think @PaintDream is the best person to answer this, but for what I know it works if the game update:

a) was just the lua scripts rather than the binary (these kind of updates are most common as 99% of the game is written in lua and doesn't requires changes to the C/C++ stuff, e.g. content updates, bug fixes etc.);

b) did change the binary (what double-clicking the game icon runs) but not in a significant way that interferes with this "mod"

c) did change the binary to "patch" this "issue" that improved game performance, in which case @PaintDream has to find a completely new workaround

 

Edited by hyiltiz
  • Like 2

Share this post


Link to post
Share on other sites
hyiltiz    488
2 minutes ago, Charlie Dark said:

Wow this magic trick is far too complicated... 

Hmm? How is "download a zip, copy files over there, change the call icon and voila" more complicated than "get a hat and a rabbit, hide it under the hat, and flip the hat over"? If confused, try to read the manual that comes with the .zip --- the readme file.

Edited by hyiltiz
  • Like 1

Share this post


Link to post
Share on other sites
x0-VERSUS-1y    5633
2 minutes ago, hyiltiz said:

Hmm? How is "download a zip, copy files over there, change the call icon and voila" more complicated than "get a hat and a rabbit, hide it under the hat, and flip the hat over"?

You probably should acknowledge mentioning programming syntax and operations to people with no programming knowledge whatsoever is like trying to debate some low-key String Theory problem to illiterate people: we "the 21st century Peasants" can only look at you with moist, dumbfound eyes and perhaps nod as admitting you're saying.. something. Oh well, not everything is for everyone. Or.. "learn to code" :black_eyed:

  • Sad 1

Share this post


Link to post
Share on other sites
Charlie Dark    4071
2 minutes ago, x0-VERSUS-1y said:

You probably should acknowledge mentioning programming syntax and operations to people with no programming knowledge whatsoever is like trying to debate some low-key String Theory problem to illiterate people: we "the 21st century Peasants" can only look at you with moist, dumbfound eyes and perhaps nod as admitting you're saying.. something. Oh well, not everything is for everyone. Or.. "learn to code" :black_eyed:

I'm not completely clueless... I just understood it much better with umm... the "assistant's" language. 

  • Like 2

Share this post


Link to post
Share on other sites
hyiltiz    488
15 minutes ago, x0-VERSUS-1y said:

You probably should acknowledge mentioning programming syntax and operations to people with no programming knowledge whatsoever is like trying to debate some low-key String Theory problem to illiterate people: we "the 21st century Peasants" can only look at you with moist, dumbfound eyes and perhaps nod as admitting you're saying.. something. Oh well, not everything is for everyone. Or.. "learn to code" :black_eyed:

Probably... Hmm, the coding part did use a lot of dark magic, but I thought the end result was packaged nicely. Here is the readme file minus the Chinese translations of each English sentence (BTW it also works in Linux Desktop, not just for Dedicated Servers; I just tested it out):

# DontStarveLuaJIT for Windows
	LuaJIT for DontStarve (compatible with DS, RoG, SW, DST for Windows, Dedicated Server for Linux)

####  PLEASE BACKUP YOUR SAVES BEFORE APPLYING THIS PATCH. 
All technique detils available at: https://zhuanlan.zhihu.com/p/24570361 (Chinese only).

-------------------------------------------------------

## Installation(安装): 
### Windows
	Copy all files from folder "win" to "[Your Don't Starve [Together] Directory]/bin/"

### Linux
        Copy all files from folder "linux" to "[Your Don't Starve [Together] Directory]/bin/lib32/", start game with the following environment setting:
	export LD_PRELOAD=libpreload.so

	NOTICE: libpreload.so/liblua51.so/liblua51DS.so may rely on some C-runtime libraries, which are not present on your computer.
	Installing gcc:i386 may be help. For example, you can run this command in Ubuntu/Debian:
	sudo apt-get install gcc:i386

## Acknowledgements(致谢): 
	Great thanks to the following players from Baidu Tieba for testing and suggestions!
	风雨凌芸、子恒Clark、359368170、lild100、kkrbdsgc、__PeakChen、o裙下臣o、 LC_1992、
	pikry、沉睡森丶林、可待year、绝世鱼人、王太太平、力玄破、渊_雎、风雪归途、幻想草莓梦、
	sharpwind95、乔碧萝、辣椒小皇纸

 

Edited by hyiltiz
  • Like 1

Share this post


Link to post
Share on other sites
x0-VERSUS-1y    5633
2 minutes ago, Charlie Dark said:

I'm not completely clueless... I just understood it much better with umm... the "assistant's" language. 

For me "most jit compilers, including LuaJIT, jit code with native assembly in adaptive way. It trace the execution of function, find out the "hot path" and convert it into machine code if it fits the specified restrictions of code layout" is like Ancient Mayan. I realize I lack even the basic definitions on what "jit complilers" are or "native assembly" means. Sure I could search on web, but I suppose context also plays a big role. Is like re-learning how to read and think when you're past your prime.

 

8 minutes ago, hyiltiz said:

Probably... Hmm, the coding part did use a lot of dark magic, but I thought the end result was packaged nicely. Here is the readme file minus the Chinese translations of each English sentence:


# DontStarveLuaJIT for Windows
	LuaJIT for DontStarve (compatible with DS, RoG, SW, DST for Windows, Dedicated Server for Linux)

####  PLEASE BACKUP YOUR SAVES BEFORE APPLYING THIS PATCH. 


All technique detils available at: https://zhuanlan.zhihu.com/p/24570361 (Chinese only).

-------------------------------------------------------

## Installation(安装): 

### Windows

	Copy all files from folder "win" to "[Your Don't Starve [Together] Directory]/bin/"

### Linux

        Copy all files from folder "linux" to "[Your Don't Starve [Together] Directory]/bin/lib32/", start game with the following environment setting:
	
	export LD_PRELOAD=libpreload.so

	NOTICE: libpreload.so/liblua51.so/liblua51DS.so may rely on some C-runtime libraries, which are not present on your computer.
	Installing gcc:i386 may be help. For example, you can run this command in Ubuntu/Debian:

	sudo apt-get install gcc:i386


## Acknowledgements(致谢): 

	Great thanks to the following players from Baidu Tieba for testing and suggestions!
	
	风雨凌芸、子恒Clark359368170lild100kkrbdsgc__PeakCheno裙下臣o LC_1992
	pikry、沉睡森丶林、可待year、绝世鱼人、王太太平、力玄破、渊_雎、风雪归途、幻想草莓梦、
	sharpwind95、乔碧萝、辣椒小皇纸
	

 

I would love to make my DST performance go higher but am afraid if something occurs I won't know how to get myself out of that pickle ...aside reinstalling the game ofc. But thank you for providing such optimization alternative.

  • Sad 1

Share this post


Link to post
Share on other sites
hyiltiz    488
17 minutes ago, x0-VERSUS-1y said:

I would love to make my DST performance go higher but am afraid if something occurs I won't know how to get myself out of that pickle ...aside reinstalling the game ofc. But thank you for providing such optimization alternative.

To get yourself out of the pickle if something goes awry, before you copy the files, make a copy of the original files. To get back to "normal" without re-installing the whole game, just move the "mod" out of the folder and put the original ones back in.

More specifically, copy [Game]/bin/WINMM.dll to your Desktop before you copy this "mod" over there as a backup. To get back, copy that file from the Desktop back in there. In Linux, simply open the game through Steam rather than the command line.

Edited by hyiltiz
  • Like 3

Share this post


Link to post
Share on other sites
PaintDream    58
18 minutes ago, x0-VERSUS-1y said:

For me "most jit compilers, including LuaJIT, jit code with native assembly in adaptive way. It trace the execution of function, find out the "hot path" and convert it into machine code if it fits the specified restrictions of code layout" is like Ancient Mayan. I realize I lack even the basic definitions on what "jit complilers" are or "native assembly" means. Sure I could search on web, but I suppose context also plays a big role. Is like re-learning how to read and think when you're past your prime.

 

I would love to make my DST performance go higher but am afraid if something occurs I won't know how to get myself out of that pickle ...aside reinstalling the game ofc. But thank you for providing such optimization alternative.

Usually the script language (e.g. Python, Lua) executes in a virtual machine (VM). VM is flexible and portable but slow. The JIT (Just-In Time) technique are designed to run threse languages directly in your CPU native language (native assembly), which could be much faster than virtual machine.

Edited by PaintDream
  • Like 4

Share this post


Link to post
Share on other sites
PaintDream    58
9 minutes ago, hyiltiz said:

To get yourself out of the pickle if something goes awry, before you copy the files, make a copy of the original files. To get back to "normal" without re-installing the whole thing, just move the "mod" out of the folder and put the original ones back in. More specifically, copy [Game]/bin/WINMM.dll to your Desktop before you copy this "mod" over there as a backup. To get back, copy that file from the Desktop back in there. In Linux, simply open the game through Steam rather than the command line.

In fact you needn't to make a backup of original binaries files (but still recommend to backup your save slots). DontStarveLuaJIT does not replace any existing binary files :D

Your uninstallation steps are correct and it can be much simpler: just rename the WINMM.dll with aother name if you want to disable/uninstall it.

Edited by PaintDream

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now