38 FPS at full screen, 66 fps in a small screen. 1gb ram, 1,7 ghz of processor and 512mb of video (intel 41 chipset). So it’s run well. An advice that maybe can be useful:
With that node setup you get a mask based on height where you can put three textures, use a separata rgb and mix nodes to use it, of this way you don’t have to use a mask texture. But, I don’t know which way is faster.
Edit: But That I think, It will not work with ripples, so I don’t think It will be a good idea to have two system for mask the textures, as you already have one that works well with both.
Edit 2: Also you can get a simple mask by this: geometry node (global) -> Separate RGB (“B” : Z, rgb = xyz) -> Math node: subtract/add some number (by default, the geomtry node will give you a mask where the middle is the cordinate 0, so using a math node you can change it) And use it as fac in the mix node to mix two textures. Also you can use a rgb curve to get hard or more smooth edges in the mask. Example: terrain mask height.blend (130 KB)