아니요, 이미지가 밝아지지 않습니다. 파이 게임 (Pygame)은 화면 밖에있는 것을 블리치하려는 경우 단순히 무시할 것입니다. 방대한 양의 객체가있는 경우를 제외하고는 프로그램 속도가 느려져서는 안됩니다. 파이 게임이 이미지가 화면 외부에 있는지를 결정하는 데 시간이 걸릴 것이기 때문입니다. 그래도 큰 문제는 아닙니다.
내 대답이 증명이 부족하다는 것을 깨달았습니다. (나쁘다, mkay ...), 그래서 나는 내 점수를 증명하기 위해 몇 가지 테스트를 실시했습니다. 나는 3 가지 조건을 테스트했다 : 화면에 블리 팅, 화면 바깥으로 블리핑, 아무것도하지 말 것. 컴퓨터의 성능 (5 년 된 랩톱)을 기반으로하므로 초당 소요 시간은 중요하지 않으므로 대신 그 사이의 요인을 찾아보십시오. 모두를 위해 비슷해야합니다.
5000 블릿
- 내부 : 0.033265519510593734 초 외부
- : 0.002402466401003767 초
- 아무것도 : 0.00023237229449441657 초
50 블릿
- 내부 : 3.639024520190433 초
외부
- : 0.23328839021967726 초
- 아무것도 : 0.023549600850092247 초
50,000,000 블릿
- 내부 : 360.48034191795153 초 외부
- : 23.317473949049596 초
- 아무것도 : 2.3507101910654455 초
화면에서 블리치하는 것은 블리 칭하지 않는 것보다 더 많은 시간이 걸리지 만 실제로 화면에 블리 칭하는 데는 거의 시간이 걸리지 않습니다. 화면 밖에서 블리치하는 것은 거의 비용이 들지 않습니다.
setup = """
import pygame
pygame.init()
screen = pygame.display.set_mode((100, 100))
image = pygame.Surface((100, 100))
"""
statement1 = """
for i in range(5000):
screen.blit(image, (0, 0))
"""
statement2 = """
for i in range(5000):
screen.blit(image, (200, 200))
"""
statement3 = """
for i in range(5000):
pass
"""
from timeit import timeit
num_of_times = 10000
inside = timeit(stmt=statement1, setup=setup, number=num_of_times)
outside = timeit(stmt=statement2, setup=setup, number=num_of_times)
nothing = timeit(stmt=statement3, setup=setup, number=num_of_times)
print("Inside: {} seconds".format(inside/num_of_times))
print("Outside: {} seconds".format(outside/num_of_times))
print("Nothing: {} seconds".format(nothing/num_of_times))
좋아 그게 내가 생각했던,하지만이 블리트 기능에 숨어 있었는지 몰랐 때문에 나는 일을하지 않은 확신하지 못했습니다 :
더 참고로, 여기에 내가 만든 테스트입니다 아무 것도 계산하지 않아. – Sorade
@Sorade 나는 인터넷 접속이 가능한 미친 사람을 맹목적으로 믿을 필요가 없도록보다 정확한 정보와 실제적인 증거를 포함하도록 내 대답을 업데이트했습니다. –