以下の環境でPygameを利用しています。

(pygame) [koji:~]$ python --version
Python 3.6.4
(pygame) [koji:~]$ pip freeze
pygame==1.9.3
(pygame) [koji:~]$

これで、以下のようなシンプルなカウントアップをウインドウ内に表示するコードを実行すると、CPU使用率が想定以上に高くなります。(Corei7で全体のCPU使用率が30%ほどにまで上がりました)

import sys
import pygame
from pygame.locals import QUIT

pygame.init()
surface = pygame.display.set_mode((400, 300))
fps_clock = pygame.time.Clock()
def main():
    sysfont = pygame.font.SysFont(None, 36)
    counter = 0
    while True:
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

        counter += 1
        surface.fill((0, 0, 0))
        count_image = sysfont.render(
               'Count is {}'.format(counter), True, (255, 255, 255))
        surface.blit(count_image, (50, 50))
        pygame.display.update()
        fps_clock.tick(32)
if __name__ == '__main__':
    main()

どうやらPygameのサウンド周りに問題があるらしく、それが原因でCPU使用率が跳ね上がってしまっているようです。
そこで、pygame.initのあとにpygame.mixer.quit()を追加して、とりあえずサウンド周りを無効化することでCPU使用率が跳ね上がる問題は回避できるようです。

pygame.init()
pygame.mixer.quit() # これを追記

詳細はGithubのHigh CPU usage in pygame #331