FYI, in case it's helpful, I found a guide that explains the meaning of all the settings in the .ini file:
bSmoothFrameRate=True
The game engine is capped to a maximum framerate, as determined by the value of the MaxSmoothedFrameRate variable (see below), which is 62 FPS by default. This is done by the developers to prevent FPS spikes and thus provide smoother performance. However, by setting this option to =False, you can completely remove this FPS cap. Keep in mind though that if you then find your framerate varying a great deal and causing jerkiness, this option is best set back to True. Uncapping your FPS doesn't increase overall performance as such, i.e. if you got 35 FPS in certain areas with the cap, you'll still do so without the cap.
MinSmoothedFrameRate=22
MaxSmoothedFrameRate=62
These settings control the framerate range between which the game engine attempts to smooth frames. As covered under the bSmoothFrameRate setting above, if that setting is set to True, the framerate limit specified by the value of MaxSmoothedFrameRate will be enforced. Although you can disable this FPS cap, ideally if you want smooth FPS but don't want the default 62FPS cap, one thing you can do is to set the MaxSmoothedFrameRate to a higher value, e.g. =70 or =85. It's usually best to set your FPS cap to match your Refresh Rate, since even with VSync disabled, any framerate above your monitor's refresh rate will simply be partial frames anyway. There's no reason why uncapping your FPS will necessarily provide you a better gameplay advantage, and in fact it may do the opposite due to greater FPS variability, so experiment to see if simply using a higher framerate cap is actually a better compromise of smoothness and performance.
bUseTextureStreaming=True
The Unreal Engine 3 on which Mass Effect is based uses a streaming approach to loading up textures. Streaming is actually designed more for helping loading times on consoles. However if this option is set to =False, textures won't be streamed in at all, but instead most of the environment will be black due to a lack of textures. Other texture streaming-related variables in the .ini files similarly seem to have no impact on disabling texture streaming properly. It appears that unfortunately texture streaming cannot be properly disabled in UE3.0 games.
bUsePostProcessEffects=True
This setting controls a range of 'post processing' effects, namely effects which are overlaid on the main game image - these effects include Film Grain, Motion Blur, Light Bloom and the Depth of Field effects which are visible throughout the game. When this setting =False, all such effects are removed, and the result is a performance improvement, and a very clear though somewhat blander image. Since you can already enable or disable Film Grain and Motion Blur individually from within the in-game settings, and adjust Depth of Field using the DepthOfField settings further below, disabling this setting is generally not recommended unless you are really struggling for FPS and/or want to remove all blur/grain/bloom effects from the game at once. Note that light halos are not affected by this setting.
bEnableBranchingPCFShadows=True
This setting controls a form of soft shadow rendering called Branching PCF. If set to False, it results in the removal of soft filtered/smudged edges for shadows, which in turn may increase performance but can also make shadows seem more blocky.
bUseSound=True
If set to False, this disables all sound in the game. The main use for this setting would be when troubleshooting an issue such as crashes or stuttering, to see if the audio system is the culprit. If disabling sound helps your game performance or stability, see the Sound section of the in-game settings and Troubleshooting Tips section of the guide for more details of how to fix the issue properly.
bUseMusicSound=True
Similar to bUseSound above, this setting disables music in the game if set to =False. However it doesn't disable all music - the menu music and some in-game music can be heard periodically even when this setting is disabled.
bUseBackgroundLevelStreaming=True
This setting is related to the streaming textures in the game, and appears to control whether streaming occurs in the background or not. In my testing setting this to =False seemed to dramatically increase level loading time and then resulted in a crash at the end of loading, so it is not recommended.
ShadowFilterRadius=2.000000
This setting controls the shadow filtering in the engine, basically determining how sharp or dispersed the outlines of shadows appear. The higher the value, the more 'blob-like' and faint shadows become, the lower the value, the less dispersed and sharper the outlines of shadows.
DepthBias=.012000
This setting controls depth calculations for shadows, and effectively determines the way Dynamic Shadows appear. Higher values gradually reduce the number of shadows shown; a value close to 1.0 totally removes dynamic shadows on objects (but leaves static shadows as normal). Lower values increase the number of shadows, however this can also result in glitches. A current workaround to removing some of the glitchy shadows in Mass Effect is to change this setting to =0.030, however note that this removes the glitchy shadows altogether, it doesn't fix them as such.
Update: As of the 1.02 Patch, the DepthBias value may now default to =0.030, which will remove dynamic shadowing. Set it to =0.0.12 to return shadowing.
MinShadowResolution=32
MaxShadowResolution=512
These two settings appear to determine the minimum and maximum possible values for shadow resolution in the game. The higher the minimum value, the darker and richer shadows should appear; conversely the lower the maximum value, many shadows may appear less distinct and grey. Raising or lowering shadow resolutions may result in an impact on performance, but more importantly, it can also result in visual glitches - for example any values above 512 for MinShadowResolution result in obvious glitches, while very low values for MaxShadowResolution similarly result in glitches. In practice the difference between the default and higher values for these settings is minimal to none, but if you wish to test it for yourself, set the minimum to 512 and the maximum to 2048 or even 4096 and see how it looks for you. You may get missing shadows if the minimum is set higher than 32 however, so it may be best just to raise the maximum value.
ModShadowFadeDistanceExponent=0.200000
This setting controls the distance at which shadows fade into/out of view. The higher the value, the shorter the distance from the object at which shadows fade in/out, and also the fainter all dynamic shadows appear. For example at 0.5 most shadows will be almost invisible, while at 0.0 all shadows will be shown, even at long distances, improving image quality at the cost of some performance.
ShadowVolumeLightRadiusThreshold=1000.000000
This setting controls the way in which lights affect the generation of shadows. Lights which have a radius below this threshold value will not cast a dynamic shadow. In practice changing this value generally appears to have no real impact, except perhaps to cause some lighting glitches.
ShadowVolumePrimitiveScreenSpacePercentageThreshold=0.250000
Any 'primitive' (basic graphical component) which takes up a screen percentage lower than this threshold will not cast a dynamic shadow. In practice altering the value appears to have no visual impact.
[WinDrv.WindowsClient]
Note: Most every setting in this section can be altered using the in-game settings, however several of them are still useful to examine for troubleshooting purposes:
AudioDeviceclass=class'ISACTAudio.ISACTAudioDevice'
This setting corresponds with Mass Effect using the default proprietary Creative ISACT OpenAL-based Audio System (as shown above), or the more generic OpenAL audio system if =class'ALAudio.ALAudioDevice'. Unfortunately trying to force the generic OpenAL audio by changing this line to =class'ALAudio.ALAudioDevice' will result in a crash. ISACT should work fine on all systems, however there is a quirk with the way the engine detects your audio device, and there is a workaround to try to fix this - see the Sound section of the in-game settings along with the [ISACTAudio.ISACTAudioDevice] section further below for details.
StartupResolutionX=1280
StartupResolutionY=1024
These settings control the width (ResolutionX) and Height (ResolutionY) of your game display resolution. While this can normally be adjusted using the in-game Resolution setting, you can use these values in case you can't access the in-game settings, or to try to force a custom resolution.
MinDesiredFrameRate=35.000000
This setting appears designed to attempt to maintain a minimum framerate, possibly by reducing or removing effects on the fly. However in my testing I've found that it seems to have no impact at all both on image quality or FPS, so it is essentially non-functional.
[ALAudio.ALAudioDevice]
As noted in the AudioDeviceclass setting further above, this section can theoretically be used by the game for generic OpenAL audio-related settings if AudioDeviceclass=class'ALAudio.ALAudioDevice'. However in practice this only results in a crash, so it is essentially a non-functional section of the .ini file and changing anything under it should have no impact whatsoever.
[ISACTAudio.ISACTAudioDevice]
This section relates to the major audio settings in the game, using the Creative ISACT OpenAL-based audio system. Regardless of your sound card and whether you're running XP or Vista, the game will use this audio system - see the Sound section of the in-game settings for more details.
MaxChannels=64
This option controls the maximum number of individual audio channels used for sound in Mass Effect. Almost all modern sound cards support at least 32 channels; Audigy series cards can support up to 64; X-Fi cards support up to 128. If you're having audio problems set this value to the maximum channels supported by your audio device, or to try to improve performance or reduce audio glitches, try a slightly lower value, or just 32 if all else fails. Note though that if set too low you will get missing or glitching sounds.
NoHALSupport0=
There are several lines here which start with 'NoHALSupport'; these indicate specific audio devices for which the game does not provide proper hardware support, even if you select 'Hardware Audio' in the in-game settings. Surprisingly, even Creative's own SoundBlaster Audigy cards are listed here as unsupported, resulting in problems for Audigy and even X-Fi owners who want full working hardware surround sound. The solution to any such problems involves the following steps:
1. You can begin by deleting or renaming your BIOEngine.ini file, and the next time you start Mass Effect the game will recreate a default one, this time it should correctly identify your sound hardware and allow proper Hardware Audio.
2. If the step above doesn't work, add a double // in front of the relevant NoHALSupport line(s) which lists your specific hardware. For example, SoundBlaster Audigy 2 owners should change the following lines to look thusly:
//NoHALSupport3=Sound Blaster Audigy
//NoHALSupport4=SB Audigy
The double // in front of each line tells the game to ignore these lines, although deleting them does the same thing too.
3. If that still doesn't work, adjust the DeviceName= line to be equal to nothing (i.e. just DeviceName=), and set UseEffectsProcessing=False (both described further below).
These steps should resolve problems for most users, however ultimately a patch may be necessary to fix this issue properly for some people. BioWare have said they are aware of this issue.
Update: Aside from Step 1 above, the other steps should not be necessary as of the 1.01 Patch, since the patch removes the NoHALSupport lines, meaning all major audio devices should be capable of hardware audio if detected properly. However it seems that the game's audio hardware detection mechanism is still faulty, and as such certain lines from this section of the .ini file may not be present. In short if you can't get hardware audio (check your MassEffect.log file under your (My) Documents\\BioWare\\Mass Effect\\Logs directory to be sure) then follow Step 1 above, restart the game and don't make any changes to the Sound settings, as otherwise the game appears to totally rewrite this section of the .ini file if you do. If that doesn't work follow Step 3, and if that still doesn't work then you may have to settle for software audio.
DeviceName=Generic Software
This setting appears to determine whether your audio device has been identified correctly, and if so whether Mass Effect uses Generic Software or Generic Hardware based audio. For most standalone sound card owners with the 'Hardware Audio' option enabled in the in-game settings, this line should read DeviceName=Generic Hardware, or the actual name of your device. If you are having audio difficulties, blanking out the contents of this setting (i.e. so it looks like this: DeviceName=) may help resolve issues along with the other steps covered above.
UseEffectsProcessing=True
This setting appears to control whether hardware-based additional audio effects processing is enabled or not. It should be set to True to begin with if you're using Hardware Audio, however if you are experiencing audio problems you can set it to =False to maintain audio quality or for troubleshooting purposes.
Update: As of the 1.01 Patch, the above option may not be available in your .ini file depending on how the engine detects your audio device.
[SystemSettings]
StaticDecals=True
Static decals are markings or posters in the game world which are placed on surfaces as decoration by the developers, and are not created by players. Setting this option to False removes these, and depending on the area the visual and performance difference may or may not be noticeable. In general it is not recommended that this be disabled for gameplay purposes.
DynamicDecals=True
Dynamic decals are the marks left by players when using weapons on the surroundings. If this option is set to False, while weapons may show impact effects initially, most weapons will not leave dark scorch marks or bullet holes on scenery. Disabling this option can improve performance in heavy combat, but it also reduces realism.
DynamicLights=True
This setting controls the use of Dynamic Lighting, which is lighting that interacts realistically with the game world. Disabling this setting in Mass Effect results in a range of lighting glitches - wherever dynamic lighting is used objects will appear as flat black, so it is not recommended that you alter this.
LightEnvironmentShadows=True
This setting controls whether the Light Environment, namely the general lighting in a level, such as sunlight, creates shadows. When set to False, it disables many shadows similar to disabling the Dynamic Shadows setting, but it still does not remove the shadows for objects with fixed shadows, such as buildings and terrain. This may improve performance but also reduces realism.
CompositeDynamicLights=False
If set to True, this option appears to enable a less accurate form of dynamic lighting, which may improve performance at the cost of image quality. In practice the visual difference is not noticeable.
ShadowFilterQualityBias=0
This setting appears twice in this section for some reason. In any case it is meant to control the quality of the shadow filtering used (if shadows are enabled). Higher values should provide better quality at the cost of performance, but once again with testing I was unable to note any real differences in shadow quality using this setting.
DirectionalLightmaps=True
This technique allows for improved image quality, as surfaces will have additional depth, bump and detailing. Setting this option to False can increase performance but in Mass Effect simply results in flat black textures wherever the lightmaps were used, so there is no reason to disable it.
DepthOfField=True
This option controls the use of Depth of Field, which is an effect used to simulate the way in which objects within focus are sharper than objects outside our direct field of focus. It's primarily noticeable when zooming in on objects with a sniper rifle - objects in focus will appear crisp, while surrounding objects will be blurred. You can set this option to =False to gain improved performance, or if you just don't like this effect.
Bloom=True
This setting controls the use of Bloom Lighting, which is a form of lighting that exaggerates the brightness and glow of lights, creating a slightly hazy, more atmospheric look. With this option set to False, Bloom is not supposed to be used, however it doesn't seem to affect the lighting at all. If you want to remove Bloom lighting you can set bUsePostProcessEffects to False (See further above), though this removes all post processing effects.
QualityBloom=True
As with Bloom above, this setting controls Bloom lighting effects, and if set to True uses a more accurate form of Bloom. Disabling this may gain additional performance without a noticeable change in image quality. Once again, in practice disabling this and/or the Bloom setting above doesn't actually appear to diminish or remove Bloom lighting.
SpeedTreeLeaves=True
SpeedTreeFronds=True
These two settings are supposed to control how the SpeedTree foliage rendering system works. However in practice if set to False, it doesn't appear as though this has any impact on foliage in most areas.
OnlyStreamInTextures=False
This setting relates to the streaming system used in the Unreal Engine. However it has no impact on texture streaming, so setting it =True should primarily result in audio being preloaded. This may result in a reduction in stuttering throughout the game, however in my testing it had no discernable impact.
LensFlares=True
Lens Flare is an effect seen when staring at a bright light source, such as a Sun, or gun muzzle flashes. There are halo effects or changes in light intensity when this happens. When this option is set to False however these effects are not removed in Mass Effect.
FloatingPointRenderTargets=True
This setting enables or disables Floating Point Render Target technology, which is used to provide certain post processing effects, such as the ability to enable HDR and Anti-Aliasing at the same time. The main impact of setting this option to False is that it can alter the appearance of the game, removing certain post processing effects. However for the most part there doesn't seem to be any benefit to disabling this option.
Trilinear=True
This option controls the use of Trilinear Filtering, which can improve the appearance of textures. Disabling this option may slightly reduce texture clarity but can improve performance. Note that the general appearance of textures is more dependent on the MaxAnisotropy variable, as well as the Texture Detail in-game setting. You can enable Trilinear Filtering with Anisotropic Filtering to get a higher quality of Anisotropic, however this might increase stuttering and/or further reduce performance.
SkeletalMeshLODBias=0
ParticleLODBias=0
LOD Bias affects the clarity of textures and details, by determining how Mipmapped textures appear. Higher positive values make things blurrier and less detailed but can improve performance, while lower values, including negative values, make things clearer at the cost of performance, and can also introduce further aliasing (jaggedness and shimmering) to the scene. The SkeletalMeshLODBias setting relates to animations, while ParticleLODBias relates to particle effects. In practice the impacts of altering either of these settings is not significant, but if you want the best quality try using a negative value for both, such as -1.
MaxAnisotropy=4
If you have Anisotropic selected under the Filtering Mode in-game setting, the setting here controls the actual level of Anisotropic Filtering (AF) used in the game to make distant textures clearer. You can set a sample rate value ranging from 0 (0xAF, or no AF), to 4 (4x AF) which is the default when Anisotropic is used, to 16 (16xAF) which is the maximum possible. The higher the sample rate, the lower your performance in return for crisper, more detailed textures. Note that you can also enable Trilinear at the same time for even higher quality - see the Trilinear setting further above.
ScreenPercentage=100.000000
This setting allows you to control the proportion of the screen in which the main game image is shown. For example a value of 50 for this setting means that the main game image (but not in-game menus) will be reduced to only take up 50% of screen. There doesn't appear to be much of a performance benefit in doing this.
[TextureLODSettings]
TEXTUREGROUP_LightAndShadowMap=(MinLODSize=256,MaxLODSize=4096,LODBias=0)
There are a range of TEXTUREGROUP settings in this section relating to the Level of Detail (LOD) of different aspects of the game world, objects, characters, and lighting among other things. These are essentially supposed to control the level of detail and quality of objects and textures as they recede into the distance. Each has a MinLODSize, a MaxLODSize and LODBias which you can experiment with to alter image quality. By raising MinLODSize as well as MaxLODSize, and lowering LODBias, you should be able to get better image quality. However in practice not only will the game crash if you use certain values, there also appears to be absolutely no improvement in image quality even when correct values are used.
In any case I encourage users to experiment with these, and if you want to know the best possible values for these settings, then refer to the ones provided in this file: ME_TextureLODSettings.zip (1KB), originally tested and provided by Martigen.
[D3DDrv.D3DRenderDevice]
DisableHWShadowMaps=True
This setting should control Hardware Shadow Mapping, which when enabled uses your graphics card to render shadows. When this setting is =True, that means it has supposedly disabled Hardware Shadow Mapping, and thus your CPU may be undertaking shadow calculations. The premise is that by setting this option to =False, those with weaker CPUs but faster graphics cards can get a performance boost. In practice however, having tested this in a range of areas, I found no performance or image quality difference whatsoever, even though I have a relatively weak CPU (X2 4400+) compared to my GPU (8800GTS). However single-core CPU owners and those with low-end Dual Core CPUs may still like to give it a try and see if it makes a difference for them.
[Stats.]
There are a range of sections here starting with [Stats.] - as far as I can tell, these are not gameplay parameters to be changed by users, they are engine statistics. For example changing the line Total Texture Memory=200 MB to =0MB has no impact on the performance of the game.
[Engine.HUD]
bShowHud=true
If set to =False, this option completely removes the HUD, including all text messages, graphical elements and warnings on the main screen - obviously this can place you at a significant gameplay disadvantage. You can still access the main options by pressing ESC, or by pressing the relevant key. It is recommended that you instead use the Showhud console command to toggle the HUD on or off at any time - see the Console Commands section.
[BIOC_Base.BioActorBehavior]
AllowFriendlyCollateral=false
If set to =True, this option allows your squad members to be injured by your fire and vice versa. Enabling this option can make things more realistic but also more difficult in heavy combat.
[BIOC_Base.BioInventory]
m_nMaxCredits=9999999
m_nMaxGrenades=5
m_fMaxSalvage=999
m_fMaxMedigel=5
There are a range of default limits here for maximum number of credits, grenades, salvage (omni-gel) and medigel. You can alter these maximums if you wish, affecting gameplay accordingly.
[BIOC_Base.BioConversation]
m_colSubtitleColor=(R=204,G=255,B=255,A=255)
This setting allows you to change the color of subtitle text in the game (if subtitles are enabled). The values in brackets are in RGB (Red, Green, Blue) and Alpha (transparency) format. You can use this RGB Chart to assign new values. For example to have Navy Blue subtitle text, change the values in brackets to (R=0,G=0,B=128,A=255). To make the text more transparent, lower the A= value. Note that this only affects subtitles, not dialog prompts.
[BIOC_Base.BioPawnBehavior]
m_bAllowPhysicsOnDeadBodies=False
If set to =True, this option allows dead bodies to react with more realistic physics. By default shooting a dead body for example causes no movement, but with this option enabled, shooting a dead body would result in blood and some (minor) corpse movements. This can increase realism, though it may drop performance in heavy combat if there are lots of dead bodies.
[BIOC_Base.BioPawn]
m_fCorpseCleanupFirstAttemptTime=5.0
This setting determines how many seconds the game will wait before attempting to determine whether a corpse can be removed. By raising this value, you can allow more corpses to be displayed in battle at any distance, which can increase realism but may also reduce performance. Note there are other m_fCorpseCleanUp parameters in this section you can also alter, but since the setting above determines when the engine first attempts corpse removal, as long as you raise it to a relatively high value (in seconds - e.g. 600 which equals 10 minutes), it will ensure corpses remain regardless of the other settings.
[BIOC_Base.BioActivePower]
m_bSkipPowerCooldown=False
If set to =True, you can use your powers again without waiting for the cooldown period to expire. This can obviously impact on gameplay, making things much easier.
BIOParty.ini
[BIOC_Base.BioPlayerSquad]
m_nMaxInventoryItems=150
m_nMaxInventoryWarningThreshold=135
The above lines control the maximum number of items you can hold in your party inventory. The m_nMaxInventoryItems variable determines the actual maximum number of items your party can hold, however if you alter it you should also change the m_nMaxInventoryWarningThreshold value to be just below the new maximum you set using the first variable, as it provides a warning when you are getting close to your limit. Of course you can simple set both variables to the same number in case you don't want to receive any warning at all.
BIOInput.ini
[Engine.Console]
ConsoleKey=Tilde
This line doesn't exist by default under this section, however by inserting it as shown above, you will be able to access the in-game command console using the '~' key (the key below ESC on US Keyboards). A full range of console commands you can use in the command console are provided in the Console Commands section further below.
[BIOC_Base.BioPlayerInput]
Bindings=(Name="F6",InputMode=BIO_INPUT_MODE_NONE,Command="QuickSave",Control=False,Shift=False,Alt=False)
For the most part you can alter all of your key bindings using the in-game settings. Here you can see all your key bindings and the commands they invoke. In the example above, you can see that the Function 6 (F6) key has been bound to the command 'QuickSave', which basically means that pressing F6 will quick save your current game. You can edit the line to change the key from F6 to another key for example. Changing and creating complex bindings is beyond the scope of this guide, I encourage you to experiment if you have any specific needs.
Console Commands
By default you cannot access the in-game Command Console in Mass Effect. However if you insert the line ConsoleKey=Tilde under the [Engine.Console] section of BIOInput.ini, you will be able to use the ~ key to open and close the in-game command console at any time - see further above for details.
There are a range of console commands you can use, and below is a list of the most common commands and a brief description for each:
Stat FPS - Toggles the display of your framerate
Fly - Allows your character to fly around, though moving upwards/downwards is not possible
Ghost - Allows your character to move through solid objects
Walk - Switches off Fly and Ghost modes
FOV [degrees] - Changes the Field of View to the specified degrees
Slomo [0.0 - ?] - Alters the speed of the game to the value specified. Values above 1 speed up the game, values below 1 slow it down
Showhud - Tggles whether to display or hide the HUD
Teleport - Teleports the squad to the location under your crosshair
Setbind [Key,Command] - Binds the specified command to the specified key
Shot - Takes a screenshot in .BMP format
Exec [filename] - Executes a specified file under the \\Program Files\\Mass Effect\\Binaries directory
Quit - Exits the game to desktop immediately
SetParagon [value] - Sets player Paragon to specified value
SetRenegade [value] - Sets player Renegade to specified value
GiveXP [value] - Gives specified XP points to player
GiveTalentPoints [value] - Gives specified Talent Points to player
GiveAll - Gives all weapons, mods, omni-tools, bio amps, and grenades to player
GiveAllXMods - Gives all weapon and armor mods
GiveAllArmor [itemname] - Gives armor with the specified name to the player
GiveAllWeapons [itemname] - Gives weapon with the specified name to the player
GiveAllOmniTools [itemname] - Gives omni-tool with the specified name to the player
GiveAllBioAmps [itemname] - Gives bio amp with the specified name to the player
GiveItem [itemname] - Gives specified item to the player
Speeding up Startup Time
By default Mass Effect takes a while to reach the main menu. Aside from the launcher menu and intro movies, there is also a period during which the screen may remain black for a while. There are however two main things you can do to decrease the time it takes for you to reach the main Mass Effect game menu:
To start with, if you want to remove all the introductory movies which play before you reach the main menu, first go to the movie files found under your \\Program Files\\Mass Effect\\BioGame\\CookedPC\\Movies\\ directory. The three movies which play at startup are called BWLogo.bik, db_standard.bik and ME_EAsig_720p_v2_raw.bik. You can either rename these movies or move them to another directory, or replace them with blank movies files from here: Skipintro_ME.zip (1KB), and they will be skipped on startup.
Next, instead of using the standard Mass Effect launch icon - which opens the Mass Effect launcher - create a desktop shortcut which directly launches the Mass Effect game executable, bypassing the launcher. To do this go to the \\Program Files\\Mass Effect\\Binaries directory, right-click on the MassEffect.exe file and select 'Send To>Desktop' to create a desktop icon. You can now use this desktop icon to launch the game, and note that it will not have any impact on Activation. Alternatively for Vista users if you want to alter the existing Mass Effect icon in Games Explorer, right-click on it, select Customize, highlight 'Play (Mass Effect)', click Edit, and change the path in the Target box to point to [Drive Letter:]\\Program Files\\Mass Effect\\Binaries\\MassEffect.exe.
In terms of the long black screen pause at startup, at the moment I don't believe there is any way to shorten it. It doesn't have anything to do with connecting to the Internet or Activation, since the game only activates the first time you run the game and subsequently only when you patch the game (see page 4 for details). It could possibly be part of a basic SecuROM check, but more likely it seems to be the game initializing the graphics engine. Either way, there is no way around it.