Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to TerraFirmaCraft Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Dries007

      ATTENTION Forum Database Breach   03/04/2019

      There has been a breach of our database. Please make sure you change your password (use a password manager, like Lastpass).
      If you used this password anywhere else, change that too! The passwords themselves are stored hashed, but may old accounts still had old, insecure (by today's standards) hashes from back when they where created. This means they can be "cracked" more easily. Other leaked information includes: email, IP, account name.
      I'm trying my best to find out more and keep everyone up to date. Discord (http://invite.gg/TerraFirmaCraft) is the best option for up to date news and questions. I'm sorry for this, but the damage has been done. All I can do is try to make sure it doesn't happen again.
    • Claycorp

      This forum is now READ ONLY!   01/20/2020

      As of this post and forever into the future this forum has been put into READ ONLY MODE. There will be no new posts! A replacement is coming SoonTM . If you wish to stay up-to-date on whats going on or post your content. Please use the Discord or Sub-Reddit until the new forums are running.

      Any questions or comments can be directed to Claycorp on either platform.
KroNoX

Change the perfomance

14 posts in this topic

Hello guys.. I really like TerraFirmaCraft.. and I would like to record it, and upload to YouTube, cause I have people that watches my channel and wants me to do it, but I have some problems. 

 

When I am playing, I have a bit of lag that freezes the screen for a second, and it is really annoying..

 

MOJANG did a very great update with the snapshot 14w30c, rendering just the area what are you looking at, and I have hundreds of FPS when I play, with MAX settings, everything smooth and nice.. so, can you guys update the TerraFirmaCraft to play without any lag?

 

I have the latest Java for 64 BITS, I play everything at high, I just have the problem with TerraFirmaCraft, and don't know exactly why.. I play with 100 or more FPS, but it lags every 20 - 50 seconds or every minute or two when rendering new area, and never happened to me when I walk to new area, it just happens to TFC.

 

I have 8 GB of RAM and a GTX 570 and I play a lot of games on Ultra or Very High with no problem..

 

I also tried it with Optifine, and multi-core rendering.. I have then 300 or more FPS, but the lag spikes when entering new area is still annoying that freezes everything 1 second.. and I have the save option to save every 3 minutes, so that is not the problem..

 

I also tried to play with JVM Arguments: -Xmn1G -Xms3G -Xmx3G ( but it still not helps me to prevent those spikes )

 

FPS:

 

Posted Image

 

Settings: 

 

Posted Image

 

Entering new area :(

 

 

Posted Image

0

Share this post


Link to post
Share on other sites

Try going around to the chunks you know you're going to visit so that they're already rendered; you shouldn't get the rendering lag if the chunk has already been loaded before.

0

Share this post


Link to post
Share on other sites

Does not really help, I always walk far away for a long time, and it renders very slow... and why is loading so slow, when in normal game without TFC is so fast... 

0

Share this post


Link to post
Share on other sites

Have you tried turning on the stable FPS option from optifine?

 

Also try using the following JVM arugments:

-Xmn1G -Xms3G -Xmx3G -XX:NewSize=512M -XX:+DisableExplicitGC -d64 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:+AggressiveOpts

Other than that, all I can suggest is that you try hosting a server on a remote machine, and then connecting to it using your client on the machine that you want do the recording on. That way the server computer can do the "heavy lifting" of generating new chunks and the like, and your client won't lag as much.

 

Also, a little bit of explanation as to why TFC lags more than vanilla or any other modded MC when it comes to generating new chunks. In vanilla, and in the majority of all MC mods and modpacks, sea-level is around Y=64, and unless you have amplified terrain turned on, rarely are there any blocks above Y=128. In TFC, sea-level is around Y=140. So basically every time you load a new chunk in TFC, it's like loading a really tall mountain in vanilla, and then even more blocks.

 

The fact that Mojang recently made great improvements to rendering and chunk loading for Minecraft 1.8 means absolutely nothing in regards to making TFC run faster right now. Mojang edited the base engine of their game, something that TFC cannot do. The only way that TFC can possibly make performance increases like those that Mojang has made is for it to update to Minecraft 1.8, which will not be happening until at least build 80, if not later.

1

Share this post


Link to post
Share on other sites

I tried to use those arguments: 

-Xmn1G -Xms3G -Xmx3G -XX:NewSize=512M -XX:+DisableExplicitGC -d64 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:+AggressiveOpts

What are they doing exactly? Cause.. I think that the rendering was much better, with just a few lags, I was flying with creative into new areas and it was much better.

 

Please, explain what those arguments are doing exactly  :)

 

Also, tomorrow I will try to make a server from my Laptop, and try to enter to the server from my main gaming PC, and test it like you said :) 

0

Share this post


Link to post
Share on other sites
They mainly have to do with garbage collection, and changing exactly how and how often java performs garbage collection.
 

Because java is a dirty little hog and will use any and all memory that you allocate to it whether it needs it or not, I strongly suggest that you don't set a single player world higher than 4GB. Setting the maximum too high can actually cause just as many problems as not setting it high enough. In my opinion, it's definitely worth setting the minimum amount, and you should see performance changes if you do so.

 

 

The laptop that I used to use is like 10 years old, and a piece of crap. So I did a lot of research into VM arguments so that I could get the absolute best out of the little specs that I did have. Specifically these sites helped: 

http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

http://docs.oracle.com/cd/E15523_01/web.1111/e13814/jvm_tuning.htm

 

Without getting too far into detail, this is a basic breakdown:

  • -Xmn1G: Sets minimum memory to 1GB
  • -Xms3G: Sets initial heap size to 3GB. Set this equal to Xmx to minimize garbage collection.
  • -Xmx3G: Sets maximum memory to 3GB. If the heap size ever gets larger than this, an Out of Memory error/crash will occur.
  • -XX:NewSize=512M: Sets new generation heap size to 512MB.  Should be about 1/4th average heap size.
  • -XX:+DisableExplicitGC: Disables calls to System.gc(), garbage collection is only performed as needed.
  • -d64: Forces use of java 64 bit over 32 bit.
  • -XX:+UseConcMarkSweepGC: Enables use of concurrent mark-sweep collection for the old generation. 
  • -XX:+CMSIncrementalPacing: Enables automatic adjustment of the incremental mode duty cycle based on statistics collected while the JVM is running.
  • -XX:+AggressiveOpts: Turn on point performance compiler optimizations that are expected to be default in upcoming releases. +

Edit: The main focus of all of these arguments is to make garbage collection while the game is running as smooth as possible. A lot of times when players are experiencing lag spikes or fluctuations in FPS, it is due to a bunch of garbage collection happening at once.

0

Share this post


Link to post
Share on other sites

As notch his most famous word where at a gaming convention a long long time ago: "If we had known Minecraft would have became this popular, we not have made the choice to use JAVA as the gamecore"  (or something along those lines).

 

Even Mojang is having a hard time updating the render core as is, not to mention there limiting there own game development atm due to having a JAVA core instead of for example a C++ game core. Java i known for its limitations on certain platforms and areas, and mods like TFC take the game to a whole new level, cause a metric ton of miror issues that were avoided in minecraft itself (for example the sea level and chunk loading and thus rendered/loaded amount of blocks in general).

 

Until 1.8 hits TFC, although i doubt it will help that much, your going to have to live with a certain amount of jerkyness id say, but looking at your screenshots your a lot better of them me with my 40/50 FPS ;) The arguments Kitty gave will help, unless your going to fast travel in creative or have a boat race.

 

PS: swapping from Optifine HD U (Ultra) to normal also helps a bit on FPS stabilitie, as Optifine Ultra is not optimized for use with mods.

0

Share this post


Link to post
Share on other sites

I... Think processor also plays a role on FPS. My old computer still run TFC with less(still lags, but doesn't hinder gameplay) lag than my new laptop. TFC in my laptop is unplayable, even with minimal settings. I don't recall how fast or efficient my computer is, but my laptop's processor is dual-core 1.4 Ghz, far less than my computer.

Perhaps you should upgrade/overclock your CPU.

0

Share this post


Link to post
Share on other sites

This is my PC for more information: 

 

  • Operating System: Windows 7 Ultimate 64-bit (6.1, Build 7601) Service Pack 1
  • Processor: Intel® Core i7-2600K CPU @ 3.40GHz (8 CPUs), ~3.4GHz
  • Memory: 8192MB RAM
  • Card name: NVIDIA GeForce GTX 570
  • Display Memory: 4048 MB
  • Dedicated Memory: 1232 MB
  • Shared Memory: 2815 MB
  • Current Mode: 1920 x 1080 (32 bit) (60Hz)
 
So sad, that Minecraft is created on Java.. and will stay there.. cause, other games runs perfect.. on ultra even..
0

Share this post


Link to post
Share on other sites

If it weren't for the Java, we wouldn't have all these mods today to begin with. Because one does not simply make a reflective coremod for C++ application.

1

Share this post


Link to post
Share on other sites

People are smart, if they had not done it in Java, they would in another thing.. there is always people creating things, there are a lot of smart people.  

0

Share this post


Link to post
Share on other sites

People are smart, if they had not done it in Java, they would in another thing.. there is always people creating things, there are a lot of smart people.  

 

What he's saying is that Java is stupid easy to de-compile; & Minecraft itself is not open source. One cannot simply extract the contents of a C++ engine & add to it or modify it, whereas Java is all but plain-text & easy to add to or modify.

0

Share this post


Link to post
Share on other sites

What he's saying is that Java is stupid easy to de-compile; & Minecraft itself is not open source. One cannot simply extract the contents of a C++ engine & add to it or modify it, whereas Java is all but plain-text & easy to add to or modify.

However, most Minecraft mods don't really change core engine anyway, they use what programmers implemented with the intend of being moddable. Otherwise plenty of limitations that lot of mods, TFC included has to deal with or work around when it comes to hardcoded features wouldn't pose a problem. Same can be done with other programming languages.This is a moot point, however. Minecraft is made in what it is made and it won't be rewritten from scratch. That being said, Java is horribly resource-demanding - and while it can be mitigated and code optimized, that's the source of most of TFC lag. I do hope that devteam will try to do what they can to increase stability and performance of TFC as well as try to make use of optimizations of vanilla Minecraft as quickly as possible. We cannot really expect much beyond that.
0

Share this post


Link to post
Share on other sites

However, most Minecraft mods don't really change core engine anyway, they use what programmers implemented with the intend of being moddable. Otherwise plenty of limitations that lot of mods, TFC included has to deal with or work around when it comes to hardcoded features wouldn't pose a problem. Same can be done with other programming languages.This is a moot point, however. Minecraft is made in what it is made and it won't be rewritten from scratch. That being said, Java is horribly resource-demanding - and while it can be mitigated and code optimized, that's the source of most of TFC lag. I do hope that devteam will try to do what they can to increase stability and performance of TFC as well as try to make use of optimizations of vanilla Minecraft as quickly as possible. We cannot really expect much beyond that.

By "programmers" you mean "people that actually changed core endine", I presume. Because otherwise we would be talking about still non-existent Official Minecraft Modding API, which, well, doesn't exist yet.

As the next guy said, Java and its derivative languages is very easy to coremod, C++, on the other hand, is actually impossible to coremod, pretty much. Modding C++ application you have to use an API that original developer provided, there's no other way. More often than not, people use dev tools. There's also Starbound way of doing things - having only bare-bones core and component classes, and loading every piece of data from an external database of sorts. You can just visit SB modding community to make yourself sure that those mods are nowhere near as versatile as Minecraft ones.

0

Share this post


Link to post
Share on other sites