Moi3D V4

 From:  Michael Gibson
10105.2 In reply to 10105.1 
Hi Wolfverines, what is the difference in startup time for you between MoI v3 and v4?

Over here if both are warmed up they each take under a second to launch.

For the case of an extrusion are you talking about dynamic feedback while you are in the process of doing an extrusion? That in particular has some different behavior between v3 and v4. V3 did the extrusion in-process while v4 does it out of process. An out of process calculation has some additional overhead for interprocess communication but it also has better behavior for handling high complexity because it can be interrupted mid calculation. So in v3 if an extrusion was complex and took say 10 seconds to calculate it would go in 10 second jumps while in v4 it is able to interrupt the current calculation and start working on the new input.

"Jerky display" - if you're not referring to a difference in extrusion feedback, that could be some problem with video drivers. Another difference between v3 and v4 is that v3 uses the Direct3D9 interface to the video hardware while MoI v4 uses Direct3D11 instead. It could be possible that your system's video driver has some problem with the D3D11 drivers that isn't present in the D3D9 drivers. You might try updating your video drivers to the latest version available to see if that helps. You could also experiment with setting DisplayThreadLimit=1 inside moi.ini and see if that makes any difference.

Another difference between v3 and v4 in the display is that v4 has a mechanism that caches display data on the video card's VRAM to take advantage of modern cards that have a large quantity of VRAM available. The Surface pro 3 is pretty anemic in its video card horsepower using the Intel integrated video card instead of AMD or Nvidia powered graphics. Maybe the v3 style display that streams all content to the card for every draw could work better with this kind of underpowered graphics hardware because it consumes a lot less memory. You can experiment with turning this new part of the v4 display engine off by changing:

[View]
StaticBufferMaxVRAMToUseMB=0

inside moi.ini . By default it will be StaticBufferMaxVRAMToUseMB= with a blank value after the =, edit it so it has =0 . That will effectively disable the VRAM caching mechanism and it will stream data to the card like v3 did. In theory that should be slower but it has very low memory requirements and I guess I could imagine a case where trying to use too much VRAM could cause a performance penalty with virtual memory swapping.

The other thing that I've seen some inklings of is that with a laptop some mechanisms that use multiple CPU cores that normally increase performance can have some potential to actually decrease performance on a laptop instead if it's getting too hot and is triggering thermal throttling. Also do you see a noticeable difference between when your machine is plugged in versus running on battery?

Let me know if any of the settings above have any noticeable effect. Maybe some things I could turn on by default when the machine has Intel integrated graphics, like not attempt to use VRAM caching at all with Intel. Right now it caps it at a lower level than if you have AMD/Nvidia graphics but maybe the cap should be a little lower.

In general MoI v3 had the same graphics engine design from v1 which was heavily tuned to work with really basic cards even with only 32MB of VRAM. V4 has new stuff in it that boosts things with newer cards but which maybe needs to be shut off for certain cards.

- Michael