Streamline
From Oblivion Mod Wiki
| 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 it's 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.
[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.
[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.
[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.
[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!
[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.
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?
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."