Streamline

From Oblivion Mod Wiki
Jump to: navigation, search
Author: Jaga Telesin
Thread(s): Official Forums
Version: 3.0 (Open Beta)
Last Updated: June 12th, 2007
Requires: OBSE
Download(s): Personal Site, TES Nexus (Old), Planet Elder Scrolls (Old)


[edit] Features

[edit] Streampurge

Memory purging on an intelligent, scheduled basis. Similar to Streamline 2.1's purging feature, with some enhancements and fixes, and a lot of new optimizations. This is the "stutter killer", back with a shiny new axe on its hip. A hotkey is available to force a memory purge at any time, or to toggle operation of memory purging on/off.

Streamline's purging system still has all the great features it used to: an anti-cache-cache that remembers the last X cells you've been in since the last purge, increased Angel range based on what mode you run purging in, better sensitivity to actors around it based on purge mode, purge options for waiting/sleeping/traveling, etc etc.

[edit] Streamsmooth

Realtime FPS Smoothing via detail adjustments. Streamline's FPS Smoother adjusts many different variables in Oblivion, from Visual Options sliders to entries in the Oblivion.ini file. It uses a "Virtual Level-Of-Detail" number dubbed "vLOD", that scales from 0 to 100 to set those values in realtime, dynamically. It uses a proprietary mathematical formula designed specifically for this application (which took 10 hours just to create), and numbers from the sl.ini file that users can reconfigure to their needs. The feature uses "Min desired FPS" and "Max desired FPS" numbers to try and achieve this enhanced level of FPS adjustment. The sl.ini file has tons of settings that can be altered to work directly with the FPS smoothing system. Major groups of settings can be toggled on/off together, or individual sSettings can be set separately.

The vLOD system can be accessed through the Hotkey feature, and has several optional modes to operate in: Max Detail, Min Detail, Auto Detail, and fine-tuning via +/- hotkeys. There are even hotkeys to force max detail or min detail for those times you need it: while screenshotting, etc.

The FPS smoother has built-in "spike protection", for times when you are loading up new areas, or when you spin and face a door on the way out of a building for example. It won't instantly push the detail level to max, but instead it will gradually nudge the vLOD number up or down to reach it's goal. The greater the difference in FPS it has to achieve, the greater the nudging.

Another optional smoothing feature is the FPS combat booster. If you want slightly higher FPS during combat, you can simply set the boost variable in the INI file a bit higher, and the smoother will keep FPS nearer to the top of your regular FPS range automatically. Say you set your FPS range to be 20-30, and the combat boost to be 0.8. During combat, the smoother will attempt to get FPS 80% of the way from 20 to 30 (right around 28). When combat ends, it will go back to normal adjustments.

[edit] Streamsave

An automated, queuing savegame system. Saves are put into a rotating list of savegames. The timer that determines how often saves are done is adjustable, as is the number of save slots. There are many options that allow the player to tailor Streamsave specifically to their needs:

  • Protection against saving while in dangerous situations: low player health, in combat, in lava, while yielding, while trespassing, while swimming, etc.
  • Optional saving in special situations: while inside only, while idle only, after a zone (travel, etc), after waiting or sleeping, while sneaking, while character has a weapon out, etc.
  • Optional audible feedback when a save is performed, optional "Save Reminders" instead of actual saves, Secure Autosaves that only use one spot and utilize a menu to avoid CTDs as much as possible, etc.
  • All saves in the rotation that get overwritten get backed up - just like an autosave would. If you tell it to use 10 save slots, you get those ten plus ten backups. Extra insurance against CTDs, and extra options for loading old saves up.
One thing I like to do with Streamsave, is remap the Oblivion quicksave key to something I never use. I then map the Streamsave hotkey to F5, essentially replacing Oblivion's quicksave system with Streamline's. That way my "quick" saves are now placed in the save rotation right along with the rest of the saves automatically.

[edit] Streamview

An automatic Field Of View (FOV) system! Now the ability to adjust the in-game field of view is a snap! You can set your normal desired FOV in Streamline's INI file, and have the ability to change it on-the-fly via the menu system in-game. You can also bring up the console and simply type in "set slFOV to X" where x is your desired new FOV, and the game will switch to it within seconds. Really handy for screenshots, and if you want to zoom in/out on distant details.

Note: For the 3 FOV screenshots, the character didn't move at all.

[edit] Streambench

An integrated Oblivion benchmark system. It has been determined that due to time constraints, this feature will be added into the package for the 3.1 release. This is currently under development, pending completion of the Streamline City Design Contest. The winner of the contest will be featured as the primary benchmark environment for Streamline 3.0!

[edit] Menu System

Full featured, bi-directional and help-enabled. Consisting of over 40 separate displays, the new menuing system is able to access most major Streamline features. Setting options on or off, changing detail levels, and pretty much anything else available in the mod. Many of the screenshots in this post were made while the menu system was active.

The menu features several different types of special formatting, including line breaks and embedded variable display. Easy to navigate, and even easier to close - a simple right mouse click dismisses the menu at any level.

[edit] Hotkey System

Integrated and configurable. Streamline's hotkey system is 100% configurable with either single keys, or key combos using Ctrl/Shift/Alt as modifiers. The hotkey system is able to force purges, set a min/max level of visual detail, fine-tune detail up or down, toggle major features on and off, etc. We've built in key-hammering protection, so that multiple presses of the same hotkey combo (or even different ones) won't fire off events one right after the other. The only exception is the ability to fine-tune vLOD detail - holding down either the increase or decrease key will continually change details in that direction. Hotkeys-1.gif

[edit] Streamline Angel

New and improved. You can think of it as Streamline's "guardian angel", which sits on your player's shoulder and watches everything going on around you. The Angel will track and remember events, and notify different major parts of the mod about current conditions around the player. They can then make decisions based on that information, and carry out their work - without disrupting the game world.

The angel doesn't just check combat status of nearby actors. It checks their Artificial Intelligence (AI) package and procedures, and takes note of what actors are up to. It does this every few seconds, so it stays on top of things in the area. It uses a pseudo-bubble-sort algorithm, which is highly efficient, and has little to zero impact on the system despite being able to run on hundreds of actors simultaneously. Angel-Logic-1.gif

[edit] Streamline INI File

User-editable, controls all settings. Stream's INI file is a text-editable config file, that has every single setting in the mod available for editing. Even the hotkeys for the mod can be remapped. The INI can be reloaded while the game is running, and will set all settings to it's current values. It was designed to be portable - players can create "template" INI files with settings targeting certain hardware and PC speeds, and distribute those freely so everyone can take advantage of the tweaked numbers. Streamline-INI.gif

[edit] Extremely Low Script Overhead

Low impact, even on very old machines. Dozens of hours have been invested in simply optimizing all of Streamline's scripts and how they flow. Yes, I'm a performance freak at heart! The most amount of time has probably been spent on Stream's proprietary vLOD algorithm which is able to run as many times per second as needed, with nearly zero impact due to being almost pure math! Streamline-optimization.gif

[edit] "Corpse Killer"

Prevents crucified actors from standing up all over Cyrodiil.

This can happen to anyone at any time, for any reason. Even people playing vanilla Oblivion see it from time to time. Streamline's corpse killer gets rid of that for good. Wave goodbye to the "Jesus pose" - it's haunted you for the last time.

[edit] Debug Feedback System

Integrated system for tracking mod actions and status. Don't think the mod is running right for you, or that it's causing you CTDs? Now you can find out with the flip of a switch. Simply turn debug mode on through the menu, enter "tdt" into the console, and watch everything Streamline does in detail.

[edit] Protected Startup Routine

Senses the presence of OBSE. Streamline's startup routine will auto-sense the presence (or lack) of OBSE, including it's version. If you don't have it installed and running right, or are using the wrong version, Streamline won't start. On a successful startup it will tell you so, ensuring you know when it is running and when it isn't.


[edit] Questions/Answers

Q: What does Fast Quit do?
A: Located in Streamline's Main Menu (only a hotkey away), it does exactly what you would think when clicked - drops you out of Oblivion and to the Desktop instantly (it shouldn't even CTD for people that normally get CTDs). It is identical to using 'qqq' from the console. Fast-Quit 1.jpg

Q: What kind of computer was this designed for?
A:"Any type, from the very old to the very new. People can run it alongside Oldblivion to enhance their performance, or on the fastest new computer they can come up with and get improved visual quality and details. It essentially works on anything."

Q: Can the mod boost FPS during combat?
A: "Yes! Using the build in combat boost variable (SLv.CombatFPS) which is actually just a percentage of the FPS range you tell Streamline to maintain. For example: with a FPS range of 20-30, you can set it at 0.5 and get combat FPS at 25 or above. If however you wanted combat FPS higher than your range (like 35), you can simply change the variable to 1.5, and get 35 FPS or higher. ((30-20)*1.5)+20"

Q: How does Streamline perform with FPS-killing mods?

A: "At a suggestion from an experienced modder (Seigfried), I went and installed WEYE from TamaraVico, which is a gorgeous open-air town expansion for Weye, right outside the Imperial City. It is also known as a FPS killer, due to the amount of detail the computer is forced to display. Streamline performed admirably, reducing details and view distance gradually until the actual FPS displayed was within range, or as high as it could manage. A few screenshots of the experience are here for your enjoyment:"

Q: Could I change which video/ini settings are altered to keep my frame rate in the given range. For example, I have always had the grass turned off, just never really liked it, is there a way to have it always keep the grass off, even if my frame rate begins to move above the preset range?
A: "Yes. Simply disable grass adjustments. There are two ways to do this: there is a major "toggle allowed changes to grass on/off" switch you can throw, which enables or disables all of those types of changes. You can also turn on/off the individual grass changes (in the sl.ini file) to density, min range, max range, etc. It's completely up to you if you want to customize it."

Q: My CTDs always happen during area transitions, while the new area is loaded. Is it possible to catch the area transition event, perform an auto save and then load the new area?
A: "That's what an Oblivion Autosave does - it notices the area change happening, and does an autosave while menumode (the travel screen) is up. It is impossible to do a save *before* the travel screen pops up (there's no way to detect it before it happens). And an autosave is the only type of save allowed in menumode, unfortunately.

So, you could either use Oblivion's autosave, or Streamline's save-after-travel (which saves immediately following the load of the new area), or both. I did try to get a save-before-travel, but it wasn't possible because of menumode limitations on save types.

Another option for you - set the Streamsave timer on a low interval (like 5-10 minutes). That way if you do crash when traveling, you haven't lost much time at all. You can drop the save interval all the way down to 1 minute if you want, or as high as 6 hours."