nun ich glaube der titel sagt alles - hellMinor's "Just Anti-Lag" - ist mein versuch die performance zu steigern
fügt es einfach als neues script über main ein
ich nehme das hier als "open-beta-test" - also postet ruhig eure ergebnisse, fehler die ihr findet und verbesserungsvorschläge
bei meinen eigenen tests lag der fps gewinn bei ca 10-50% abhängig von der event anzahl
wenn ein event immer up-to-date gehalten werden soll, benennt es einfach "update" und schon wird es immer geupdated
also happy testing
hellMinor's "Just Anti-Lag" beta v0.6
#==============================================================================
# hellMinor's "Just Anti-Lag"
# Version : beta v0.6
# Created by : hellMinor
# Do NOT redistribute without my permission
#==============================================================================
# Um ein Event immer zu updaten, nenn es einfach - update - und schon wird
# es permanent geupdatet
#==============================================================================
ADJUST = 2 # Bestimmt wieviele Felder außerhalb des Bildes geupdatet werden
FRAMESKIP = 2 # Wieviele Frames sollen vor dem neu zeichnen übergangen werden
#==============================================================================
class Game_Map
#==============================================================================
def update_events
obere_schranke = @display_y/256 - ADJUST
untere_schranke = @display_y/256 + 13 + ADJUST
linke_schranke = @display_x/256 - ADJUST
rechte_schranke = @display_x/256 + 17 + ADJUST
for event in @events.values
event_x = event.x
event_y = event.y
if event.name == "update"
event.update
next
end
event.update if event_x >= linke_schranke and event_x <= rechte_schranke and event_y >= obere_schranke and event_y <= untere_schranke
end
for common_event in @common_events.values
common_event.update
end
end
end
#==============================================================================
class Spriteset_Map
#==============================================================================
alias initialize_just_antilag initialize
def initialize
@run_ani = false
@skip = 0
initialize_just_antilag
end
def update
if @skip == 0 or @run_ani
@skip = FRAMESKIP
update_tilemap
update_parallax
update_characters
update_shadow
update_weather
update_pictures
update_timer
update_viewports
end
@skip -= 1
end
def update_characters
screen_x = $game_map.display_x/256
screen_y = $game_map.display_y/256
for sprite in @character_sprites
sprite_x = sprite.character.x
sprite_y = sprite.character.y
if sprite_x > (screen_x - ADJUST) and sprite_x < (screen_x + 17 + ADJUST) and sprite_y > (screen_y - ADJUST) and sprite_y < (screen_y + 13 + ADJUST)
sprite.update
@run_ani = sprite.animation?
end
end
end
end
#==============================================================================
class Game_Event < Game_Character
attr_reader :name
alias initialize_just_antilag initialize
def initialize(map_id, event)
initialize_just_antilag(map_id, event)
@name = @event.name
end
end
#==============================================================================
alte versionen
hellMinor's "Just Anti-Lag" beta v0.5#==============================================================================
# hellMinor's "Just Anti-Lag"
# Version : beta v0.6
# Created by : hellMinor
# Do NOT redistribute without my permission
#==============================================================================
# Um ein Event immer zu updaten, nenn es einfach - update - und schon wird
# es permanent geupdatet
#==============================================================================
# Bestimmt wieviele Felder außerhalb des Bildes geupdatet werden
ADJUST = 2
#==============================================================================
class Game_Map
#==============================================================================
def update_events
obere_schranke = @display_y/256 - ADJUST
untere_schranke = @display_y/256 + 13 + ADJUST
linke_schranke = @display_x/256 - ADJUST
rechte_schranke = @display_x/256 + 17 + ADJUST
for event in @events.values
event_x = event.x
event_y = event.y
if event.name == "update"
event.update
next
end
event.update if event_x > linke_schranke and event_x < rechte_schranke and event_y > obere_schranke and event_y < untere_schranke
end
for common_event in @common_events.values
common_event.update
end
end
end
#==============================================================================
class Spriteset_Map
#==============================================================================
def update_characters
screen_x = $game_map.display_x/256
screen_y = $game_map.display_y/256
for sprite in @character_sprites
sprite_x = sprite.character.x
sprite_y = sprite.character.y
sprite.update if sprite_x > (screen_x - ADJUST) and sprite_x < (screen_x + 17 + ADJUST) and sprite_y > (screen_y - ADJUST) and sprite_y < (screen_y + 13 + ADJUST)
end
end
end
#==============================================================================
class Game_Event < Game_Character
attr_reader :name
alias initialize_just_antilag initialize
def initialize(map_id, event)
initialize_just_antilag(map_id, event)
@name = @event.name
end
end
#==============================================================================
hellMinor's "Just Anti-Lag" beta v0.4#==============================================================================
# hellMinor's "Just Anti-Lag"
# Version : beta v0.4
# Created by : hellMinor
# Do NOT redistribute without my permission
#==============================================================================
# Um ein Event immer zu updaten, nenn es einfach - update - und schon wird
# es permanent geupdatet
#==============================================================================
# Bestimmt wieviele Felder außerhalb des Bildes geupdatet werden
ADJUST = 2
#==============================================================================
class Game_Map
#==============================================================================
def update_events
for event in @events.values
event_x = event.x
event_y = event.y
if event.name == "update"
event.update
next
end
event.update if event_x > (@display_x/256 - ADJUST) and event_x < (@display_x/256 + 17 + ADJUST) and event_y > (@display_y/256 - ADJUST) and event_y < (@display_y/256 + 13 + ADJUST)
end
for common_event in @common_events.values
common_event.update
end
end
end
#==============================================================================
class Spriteset_Map
#==============================================================================
def update_characters
screen_x = $game_map.display_x/256
screen_y = $game_map.display_y/256
for sprite in @character_sprites
sprite_x = sprite.character.x
sprite_y = sprite.character.y
sprite.update if sprite_x > (screen_x - ADJUST) and sprite_x < (screen_x + 17 + ADJUST) and sprite_y > (screen_y - ADJUST) and sprite_y < (screen_y + 13 + ADJUST)
end
end
end
hellMinor's "Just Anti-Lag" beta v0.3#==============================================================================
# hellMinor's "Just Anti-Lag"
# Version : beta v0.3
# Created by : hellMinor
# Do NOT redistribute without my permission
#==============================================================================
# Um ein Event immer zu updaten, erstelle auf der Eventseite einen
# kommentar an !! erster !! stelle im event und schreibe "update" hinein
# Dieses Event wird nun permanent geupdatet
#==============================================================================
class Game_Map
#==============================================================================
def update_events
player_x = $game_player.x
player_y = $game_player.y
for event in @events.values
event_x = event.x
event_y = event.y
if event.list != nil && event.list[0].code == 108 && event.list[0].parameters[0] == "update"
event.update
next
end
event.update if event_x > (player_x - 11) and event_x < (player_x + 11) and event_y > (player_y - 9) and event_y < (player_y + 9)
end
for common_event in @common_events.values
common_event.update
end
end
end
#==============================================================================
class Spriteset_Map
#==============================================================================
def update_characters
player_x = $game_player.x
player_y = $game_player.y
for sprite in @character_sprites
char_x = sprite.character.x
char_y = sprite.character.y
if char_x > (player_x - 11) and char_x < (player_x + 11) and char_y > (player_y - 9) and char_y < (player_y + 9)
sprite.update
end
end
end
end
Sieht gut aus^^
Hier ein Tipp^^
Mach Screenshots is besser^^