Closed GoogleCodeExporter closed 8 years ago
FILE IS ATTACHED HERE.
shadow.zip - Shadow of the Beast Parallax Scrolling Demo running on Python and
pyglet.
Cheers,
PN
Original comment by pythonnu...@gmail.com
on 30 Jun 2008 at 11:16
Attachments:
Possibly related to issue 310. Please check against SVN head. Failing that,
try with environment variable
PYGLET_GRAPHICS_VBO = 0.
Original comment by Alex.Hol...@gmail.com
on 1 Jul 2008 at 12:21
Will try suggestions tonight.
As another side/interesting note,
This program running on the old PPC G4 Mac used ~18% CPU.
This same program running on the new Intel Core 2 Duo Mac used ~28% CPU.
bash shell 1:
$python -O shadow.py
bash shell 2:
$top -o cpu
Same OS version. (OS X 10.5.3)
Same Python version. (Python.org Python 2.5.2)
Same pyglet version. (pyglet 1.1 beta 2)
Cheers,
Peter
Original comment by pythonnu...@gmail.com
on 1 Jul 2008 at 12:54
Went home last night and tried the environment variable approach.
I made a mistake in my initial reporting, had the Intel CPU figures reported
from memory and it was not 28%
cpu, but 38% CPU that this program takes up running on that platform, while 18%
CPU for the same program
on the old PPC G4 CPU.
The environment variable PYGLET_GRAPHICS_VB) = 0 did not fix the stuttering
Sprite animation issue.
It did, however reduce CPU use from 38% down to 32% CPU use.
Still a bit of a bummer compared to the old G4s CPU use.
Original comment by pythonnu...@gmail.com
on 1 Jul 2008 at 10:03
Testing Results on the Intel Core 2 Duo / Nvidia computer:
Execution method:
Terminal Window#1
$top -o cpu
Terminal Window#2
@python -O shadow.py
Test #1.
Standard 1.1 Beta 2 release of pyglet
38% CPU utilisiation
Animation not smooth, stuttering
Test#2.
Standard 1.1 Beta 2 release of pyglet
and
$export PYGLET_GRAPHICS_VBO=0
32% CPU utilisation
Animation not smooth, stuttering
Test#3
Latest head (r2129) version of pyglet 1.1 Beta 2
19% CPU utilisation
Animation not smooth, stuttering
Great! CPU utilisation has dropped drastically, now to install OS X 10.5.4
update
and see if their is an affect on the CPU utilisation or smoothness of the
animation.
Test #4
After 10.5.4 installed
and
Latest head (r2129) of pyglet 1.1 Beta 2
26% CPU utilisation
Animation not smooth, stuttering
*sigh*
Original comment by pythonnu...@gmail.com
on 2 Jul 2008 at 10:53
Ok. Let me know if you come across a workaround or smaller reproducible test
(i.e.,
minimum code change to make smooth animation stuttering or vice-versa).
Original comment by Alex.Hol...@gmail.com
on 2 Jul 2008 at 11:13
Got a change to get my older Dell laptop out and updated with pyglet and avbin
and
did some runs of shadow.zip on it.
Animations under Ubuntu 7.10 Gutsy Gibbon running on Dell Latitude D510 hardware
Linux Kernel 2.6.22-15-generic
Gnome 2.20.1
Intel Celeron M processor 1.4GHz
512MB Ram
Platform instance is <pyglet.window.xlib.XlibPlatform object at 0x83d5bec>
Display instance is <pyglet.window.xlib.XlibDisplayDevice object at 0x83ccaac>
Screens:
XlibScreen(screen=0, x=0, y=0, width=1024, height=768, xinerama=1)
Creating default context...
GL attributes:
double_buffer=1 stereo=0 buffer_size=32 aux_buffers=0 sample_buffers=0
samples=0 red_size=8 green_size=8 blue_size=8 alpha_size=8
depth_size=24 stencil_size=8 accum_red_size=0 accum_green_size=0
accum_blue_size=0 accum_alpha_size=0
GL version: 1.3 Mesa 7.0.1
GL vendor: Tungsten Graphics, Inc
GL renderer: Mesa DRI Intel(R) 915GM 20061017 x86/MMX/SSE2
ALSA sound system.
Python 2.5.1 (r251:54863, Mar 7 2008, 04:10:12)
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Pyglet 1.1 Beta 2, source downloaded install, later tests will use the latest
SVN
release.
In general I experience the stuttered, burbling sound issue as on other Linux
system
reports. But have not found any crackling sound yet as I experienced with the
pygame
framework.
In general the Linux systems/Ubuntu etc all now have compiz fusion graphics
installed
and the special effects turned on. This causes some pyglet/opengl issues. I
tested
both with default (On + medium effects setting in Ubuntu, and with all effects
turned
off). Turned off, pyglet opened windows in proper locations as with Mac OS X
but for
some reason it looks like the animations appear slower at the same frame-rate
settings than when running under OS X.
There still is the stuttering, non smooth sprite animation as with the Intel
Core 2
Duo equipped Mac with NVidia chipset, but less pronounced, but not as silky
smooth as
with the PowerPC equipped Mac mini computer.
Low CPU utilisaiton rates were observed similar to the PowerPC G4 equipped Mac
mini
on its original runs under OS X 10.5.3.
The animation under Linux performs best with a pyglet clock tick cycle of 90Hz
(pyglet.clock.schedule_interval(update, 1/90.0)) or with pyglet taking as much
resources as it needed (pyglet.clock.schedule(update)). On Linux, the later was
the
most efficient for speed and total CPU utilisation (Only using on average 20%
of the
CPU, whereas the new Intel Core 2 Duo equipped Mac was chewing up 2-3 times the
cpu
utilisaiton. (Maybe multi core CPUs and python in general is just not
happening).
Pygelt 1.1 Beta 2 R2129 Installation results:
After installing latest head R2129 of pyglet.
Major reduction in CPU. The average of 20% CPU under
pyglet.clock.schedule(update)
now became only 6% CPU utilisation.
Using pyglet.clock.schedule_interval(update, 1/60.0) resulted in no discernable
CPU
utilisation difference, about 7% average utilisation
Using pyglet.clock.schedule_interval(update, 1/90.0) resulting in a more
discrenable
CPU utilisation difference, about 9% average utilisation
All of the Compiz fusion enabled graphics glitches were still present, so
disabling
them resulted in no real discernible difference in CPU utilisation figures but
the
graphics glitches no longer appeared, and the window drew in the location and
manner
similar as on OS X.
Looks like the best system so far is the Mac Mini with old PowerPC G4 CPU and
ATI
RV280 graphics chip. Audio = perfect, Video/Animation = very smooth.
Brand new Intel Core 2 Duo CPU in Macbook Pro 17" laptop with nVidia 8600
graphics
chip. Audio = perfect, Video/Animation = chunky/stuttering.
Best of the bunch for CPU utilisation but Worst of the bunch for audio + video
performance is Linux on Intel Celeron M system with Intel 915GM graphics chip.
I have to say that the pygame version of the shadow.zip program performed
smoother on
more platforms, but the bad side was it used more CPU utilisation and had the
SDL
dependencies.
*still in a quagmire*
Original comment by pythonnu...@gmail.com
on 12 Jul 2008 at 6:07
I'm going to do a Rabbyt/pyglet hybrid port and a Rabbyt port when time
permits, then
I can get a good picture of a single program with the same images handled on 4
different framework/combinations under 3 different computing CPU/Graphics
Chip/OS
platforms.
Original comment by pythonnu...@gmail.com
on 12 Jul 2008 at 6:10
The Pyglet only version is taking 42% CPU on new Intel Core 2 Duos,
only 18% CPU on old PowerPC G4's.
With optimisation turned on, the Pyglet only version takes 27% CPU utilisation
with
no improvement in the stuttering video enimation of the Sprites.
The Pyglet + Rabbyt version (with old school event loop) is taking only 6-8%
with
24% spikes on new Inte Core 2 Duos!
Not tested yet on PowerPC G4's. And only 6-7% CPU on Linux + Intel Celeron M
CPUs.
One thing I cannot suss out is the 24% occasional spike when the very very
large
foreground sprites first move across the screen, after a second the CPU settles
back
down to 6-7% as the sprites move across the screen. This is not apparent on the
Linux system which stays at a constant 6-7% CPU utilisation average.
However the Linux system is almost unusable with the Pyglet only version. The
sound
is stuttering, choppy and you cry out to shut it off for sanity (ALSA sound
system
on Ubuntu) and the video is stuttering (Gnome). On the Intel Core 2 Duo the
sound is
silky smooth and perfect (Apples implementation of OpenAL) but the video is
choppy
and stuttering.
On the old Mac with PowerPC G4 cpu and old ATI RV280 GPU chip the sound is
silky
smooth and perfect (Apples implementation of OpenAL) and the video is silky
smooth
and perfect (ATI's/Apples OpenGL implementation).
As it stands if I were to write something I actually want people to play it
would be
Pyglet + Rabbyt combined. I have yet to figure out how to handle the sound and
music
without resorting to abandoning Linux users to the horrible bugs and sound
quality
in both their sound implementations (ALSA and OpenAL) on those platforms. I
wouldn't
play my games if I was the user on my Ubuntu system =(
File Attached showing the different code bases.
Audio was disabled on the Pyglet 1.1 Beta 2 R2129 test to see if it had an
impact on
the system's animation stuttering. No discernable difference was found by
disabling
audio.
I left audio disabled to give an comparison with the Pyglet + Rabbyt version of
the
same program which does not include sound.
shadowtestbattery attached as I could not download the first shadow.zip
attachment
above, the system would bomb out after transfering 820K of the file every time
I
attemted a download.
Original comment by pythonnu...@gmail.com
on 14 Jul 2008 at 1:10
Attachments:
I did not mention but the Pyglet + Rabbyt version is running silky smooth
animation
(very fast indeed!) on the Intel Core 2 Duo equipped Macbook Pro 17" with
NVIDIA
8600 GPU chipset laptop. No audio is tested as the Pyglet + Rabbyt version did
not
have it programmed into it.
The Pyglet only version is still stuttering badly in animations on the same
exact
laptop, but the audio is silky smooth =)
Original comment by pythonnu...@gmail.com
on 14 Jul 2008 at 1:13
The Mac Mini Power PC G4 + ATI RV280 GPU results are in!
shadow.py (Pyglet 1.1 Beta 2 R2129)
"python" run uses 50% CPU and now runs animations chunky and stuttering
"python -O" optimization run uses 29% CPU and now runs animations chunky and
stuttering
shadow-noaudio.py (Pyglet 1.1 Beta 2 R2129)
"python" run uses 42% CPU and now runs animations chunky and stuttering
"python -O" optimization run uses 29% CPU and now runs animations chunky and
stuttering
shadow-rabbyt-pyglet.py (Pyglet 1.1 Beta 2 R2129 + Rabby 0.8.1 with Rabbyt
Sprite handling and old school
event loop)
"python" run uses 7.4% average CPU with 24% spikes in CPU utilization.
Animations silky smooth.
"python -O" optimization run shows no discernible improvement in CPU
utilization than the run without optimization turned on.
Original comment by pythonnu...@gmail.com
on 16 Jul 2008 at 5:21
Mac Mini information:
$ python -m pyglet.info
Python
------------------------------------------------------------------------------
sys.version: 2.5.2 (r252:60911, Feb 22 2008, 07:57:53)
[GCC 4.0.1 (Apple Computer, Inc. build 5363)]
sys.platform: darwin
os.getcwd(): /Volumes/DISK1S1/shadowtestbattery
pyglet
------------------------------------------------------------------------------
pyglet.version: 1.1beta2
pyglet.__file__:
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-
packages/pyglet/__init__.pyc
pyglet.options['debug_trace_depth'] = 1
pyglet.options['audio'] = ('directsound', 'openal', 'alsa', 'silent')
pyglet.options['xsync'] = True
pyglet.options['debug_trace_flush'] = True
pyglet.options['debug_win32'] = False
pyglet.options['debug_gl_trace'] = False
pyglet.options['debug_x11'] = False
pyglet.options['shadow_window'] = True
pyglet.options['debug_font'] = False
pyglet.options['debug_media'] = False
pyglet.options['debug_trace'] = False
pyglet.options['debug_lib'] = False
pyglet.options['graphics_vbo'] = True
pyglet.options['vsync'] = None
pyglet.options['debug_trace_args'] = False
pyglet.options['debug_gl'] = True
pyglet.options['debug_graphics_batch'] = False
pyglet.options['font'] = ('gdiplus', 'win32')
pyglet.options['debug_texture'] = False
pyglet.options['debug_gl_trace_args'] = False
pyglet.window
------------------------------------------------------------------------------
platform: <pyglet.window.carbon.CarbonPlatform object at 0xc53bd0>
display: <pyglet.window.carbon.CarbonDisplay object at 0xc4b8d0>
screens[0]: CarbonScreen(x=0, y=0, width=1680, height=1050)
config['double_buffer'] = 1
config['stereo'] = 0
config['buffer_size'] = 32
config['aux_buffers'] = 0
config['sample_buffers'] = 0
config['samples'] = 0
config['red_size'] = 8
config['green_size'] = 8
config['blue_size'] = 8
config['alpha_size'] = 8
config['depth_size'] = 32
config['stencil_size'] = 0
config['accum_red_size'] = 0
config['accum_green_size'] = 0
config['accum_blue_size'] = 0
config['accum_alpha_size'] = 0
context: CarbonGLContext()
pyglet.gl.gl_info
------------------------------------------------------------------------------
gl_info.get_version(): 1.3 ATI-1.5.28
gl_info.get_vendor(): ATI Technologies Inc.
gl_info.get_renderer(): ATI Radeon 9200 OpenGL Engine
gl_info.get_extensions():
GL_APPLE_aux_depth_stencil
GL_APPLE_client_storage
GL_APPLE_element_array
GL_APPLE_fence
GL_APPLE_flush_buffer_range
GL_APPLE_flush_render
GL_APPLE_packed_pixels
GL_APPLE_pixel_buffer
GL_APPLE_specular_vector
GL_APPLE_texture_range
GL_APPLE_transform_hint
GL_APPLE_vertex_array_object
GL_APPLE_vertex_array_range
GL_APPLE_vertex_program_evaluators
GL_APPLE_ycbcr_422
GL_ARB_imaging
GL_ARB_multisample
GL_ARB_multitexture
GL_ARB_occlusion_query
GL_ARB_pixel_buffer_object
GL_ARB_shader_objects
GL_ARB_shading_language_100
GL_ARB_texture_border_clamp
GL_ARB_texture_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_crossbar
GL_ARB_texture_env_dot3
GL_ARB_texture_mirrored_repeat
GL_ARB_texture_rectangle
GL_ARB_transpose_matrix
GL_ARB_vertex_blend
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_vertex_shader
GL_ARB_window_pos
GL_ATI_array_rev_comps_in_4_bytes
GL_ATI_blend_equation_separate
GL_ATI_blend_weighted_minmax
GL_ATI_text_fragment_shader
GL_ATI_texture_env_combine3
GL_ATI_texture_mirror_once
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_equation_separate
GL_EXT_blend_func_separate
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_geometry_shader4
GL_EXT_gpu_program_parameters
GL_EXT_multi_draw_arrays
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_stencil_wrap
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_s3tc
GL_EXT_texture_env_add
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod_bias
GL_EXT_texture_rectangle
GL_EXT_transform_feedback
GL_IBM_rasterpos_clip
GL_NV_blend_square
GL_NV_fog_distance
GL_NV_light_max_exponent
GL_NV_texgen_reflection
GL_SGIS_generate_mipmap
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod
GL_SGI_color_matrix
pyglet.gl.glu_info
------------------------------------------------------------------------------
glu_info.get_version(): 1.3 MacOSX
glu_info.get_extensions():
pyglet.gl.glx_info
------------------------------------------------------------------------------
GLX not available.
pyglet.media
------------------------------------------------------------------------------
driver: pyglet.media.drivers.openal
pyglet.media.avbin
------------------------------------------------------------------------------
Library: <CDLL '/usr/local/lib/libavbin.dylib', handle 461a300 at 44fabf0>
AVbin version: 5
FFmpeg revision: 13661
pyglet.media.drivers.openal
------------------------------------------------------------------------------
Library: <CDLL '/System/Library/Frameworks/OpenAL.framework/OpenAL', handle
8eff30 at 44e9890>
Version: (1, 1)
Extensions:
ALC_EXT_CAPTURE
ALC_ENUMERATION_EXT
ALC_EXT_MAC_OSX
ALC_EXT_ASA
ALC_EXT_ASA_DISTORTION
ALC_EXT_ASA_ROGER_BEEP
Original comment by pythonnu...@gmail.com
on 16 Jul 2008 at 5:24
FWIW on a Dell Vostro (Core 2 duo, GeForce 8400M) running Ubuntu Hardy the
scrolling
is smooth (well, mostly - there's small changes in scrolling speed, but nothing
as
severe as what I'd call stuttering) and the music plays fine.
CPU usage is 57% (30% with python -O)
Platform instance is <pyglet.window.xlib.XlibPlatform object at 0x844822c>
Display instance is <pyglet.window.xlib.XlibDisplayDevice object at 0x84400ec>
Screens:
XlibScreen(screen=0, x=0, y=0, width=1440, height=900, xinerama=1)
XlibScreen(screen=0, x=1440, y=0, width=1680, height=1050, xinerama=1)
Creating default context...
GL attributes:
double_buffer=1 stereo=0 buffer_size=32 aux_buffers=4 sample_buffers=0
samples=0 red_size=8 green_size=8 blue_size=8 alpha_size=0
depth_size=24 stencil_size=0 accum_red_size=16 accum_green_size=16
accum_blue_size=16 accum_alpha_size=16
GL version: 2.1.2 NVIDIA 169.12
GL vendor: NVIDIA Corporation
GL renderer: GeForce 8400M GS/PCI/SSE2
GL extensions:
GL_ARB_texture_compression GL_NV_point_sprite
GL_NV_fragment_program_option GL_NV_vertex_array_range2
GL_EXT_blend_color GL_EXT_blend_subtract GL_EXT_stencil_wrap
GL_NV_fence GL_EXT_vertex_array GL_IBM_texture_mirrored_repeat
GL_EXT_texture_compression_s3tc GL_NV_vertex_program2_option
GL_EXT_texture_buffer_object GL_ARB_depth_texture
GL_NV_packed_depth_stencil GL_EXTX_framebuffer_mixed_formats
GL_EXT_Cg_shader GL_NV_primitive_restart GL_EXT_framebuffer_sRGB
GL_EXT_texture_object GL_NVX_conditional_render
GL_NV_texture_compression_vtc GL_NV_texture_shader3
GL_NV_multisample_coverage GL_EXT_blend_func_separate
GL_EXT_texture_cube_map GL_ARB_occlusion_query GL_ARB_transpose_matrix
GL_EXT_gpu_shader4 GL_ARB_texture_border_clamp GL_EXT_fog_coord
GL_NV_depth_clamp GL_ARB_texture_cube_map
GL_EXT_blend_equation_separate GL_NV_framebuffer_multisample_coverage
GL_ARB_point_parameters GL_EXT_texture_env_dot3
GL_EXT_multi_draw_arrays GL_KTX_buffer_region
GL_EXT_texture_env_combine GL_NV_fog_distance GL_ARB_vertex_program
GL_ARB_texture_env_dot3 GL_NV_gpu_program4 GL_EXT_bgra
GL_NV_float_buffer GL_NV_texture_env_combine4
GL_ARB_texture_env_combine GL_ARB_vertex_buffer_object
GL_EXT_shadow_funcs GL_NV_vertex_array_range
GL_NV_texture_expand_normal GL_EXT_separate_specular_color
GL_EXT_texture_env_add GL_EXT_packed_depth_stencil
GL_EXT_texture_mirror_clamp GL_EXT_timer_query
GL_NV_multisample_filter_hint GL_SUN_slice_accum
GL_EXT_geometry_shader4 GL_EXT_texture_compression_latc
GL_ARB_point_sprite GL_EXT_framebuffer_object GL_ARB_vertex_shader
GL_ARB_half_float_pixel GL_EXT_bindable_uniform
GL_NV_register_combiners GL_ARB_draw_buffers
GL_ARB_fragment_program_shadow GL_NV_half_float GL_EXT_packed_float
GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_EXT_texture_sRGB
GL_EXT_stencil_two_side GL_SGIX_shadow GL_NV_texgen_reflection
GL_EXT_texture_array GL_EXT_compiled_vertex_array
GL_NV_fragment_program2 GL_NV_depth_buffer_float
GL_EXT_point_parameters GL_ARB_texture_float GL_ARB_fragment_shader
GL_ATI_texture_float GL_NV_texture_shader GL_NV_pixel_data_range
GL_ARB_imaging GL_EXT_draw_buffers2 GL_ARB_fragment_program
GL_ARB_shader_objects GL_ARB_shading_language_100 GL_NV_blend_square
GL_EXT_secondary_color GL_ARB_texture_non_power_of_two
GL_EXT_texture_lod_bias GL_NV_texture_rectangle
GL_EXT_pixel_buffer_object GL_EXT_abgr GL_NV_vertex_program
GL_ARB_texture_rectangle GL_ARB_multisample GL_SGIS_generate_mipmap
GL_NV_conditional_render GL_EXT_texture_filter_anisotropic
GL_NV_light_max_exponent GL_EXT_blend_minmax GL_EXT_framebuffer_blit
GL_SGIS_texture_lod GL_NV_vertex_program3 GL_NV_vertex_program2
GL_SGIX_depth_texture GL_ARB_color_buffer_float
GL_EXT_texture_edge_clamp GL_EXT_texture_compression_rgtc
GL_ARB_window_pos GL_ARB_shadow GL_ARB_texture_mirrored_repeat
GL_EXT_texture_integer GL_EXT_gpu_program_parameters
GL_EXT_texture_lod GL_NV_geometry_shader4 GL_S3_s3tc
GL_NV_vertex_program1_1 GL_EXT_framebuffer_multisample
GL_EXT_texture_shared_exponent GL_NV_texture_shader2 GL_EXT_texture3D
GL_ARB_multitexture GL_EXT_draw_instanced GL_NV_copy_depth_to_color
GL_ATI_draw_buffers GL_EXT_depth_bounds_test
GL_EXT_draw_range_elements GL_NV_transform_feedback
GL_NV_occlusion_query GL_ARB_texture_env_add GL_NV_fragment_program
GL_NV_parameter_buffer_object GL_EXT_packed_pixels
GL_EXT_rescale_normal GL_ARB_pixel_buffer_object
GL_NV_register_combiners2
GLU version: 1.3
GLU extensions:
GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess
Context is XlibGLContext()
GLX is direct
GLX server vendor: NVIDIA Corporation
GLX server version: 1.3
GLX server extensions:
GLX_EXT_visual_info GLX_EXT_visual_rating GLX_SGIX_fbconfig
GLX_SGIX_pbuffer GLX_SGI_video_sync GLX_SGI_swap_control
GLX_EXT_texture_from_pixmap GLX_ARB_multisample GLX_NV_float_buffer
GLX_ARB_fbconfig_float GLX_EXT_framebuffer_sRGB
GLX client vendor: NVIDIA Corporation
GLX client version: 1.4
GLX client extensions:
GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_visual_info
GLX_EXT_visual_rating GLX_EXT_import_context GLX_SGI_video_sync
GLX_NV_swap_group GLX_NV_video_out GLX_SGIX_fbconfig GLX_SGIX_pbuffer
GLX_SGI_swap_control GLX_NV_float_buffer GLX_ARB_fbconfig_float
GLX_EXT_fbconfig_packed_float GLX_EXT_texture_from_pixmap
GLX_EXT_framebuffer_sRGB
GLX extensions:
GLX_EXT_visual_info GLX_EXT_visual_rating GLX_SGIX_fbconfig
GLX_SGIX_pbuffer GLX_SGI_video_sync GLX_SGI_swap_control
GLX_EXT_texture_from_pixmap GLX_ARB_multisample GLX_NV_float_buffer
GLX_ARB_fbconfig_float GLX_EXT_framebuffer_sRGB
GLX_ARB_get_proc_address
Original comment by r1chardj0n3s
on 16 Jul 2008 at 6:18
Cheers for the additional run testing r1chardj0n3s, any little bit helps as we
build
a base of test runs.
So far the NVIDIA 8600 stuttering is horrific, unplayable. The Ubuntu Dell
Latitutde
D510 has some noticable stuttering (you would call it minor) and it is still
playable but visually noticably different to the smoother animation of the
Pyglet +
Rabbyt Sprites + Old School Runtime loop version.
The biggest eye opener is the large difference in CPU utilisation using the
Pyglet
1.1 Beta 2 R2129 Sprites and Runtime Loop functions are having on systems.
Close to
50% cpu utilisation and some systems show no problem with animation, others get
to
the point of being unusable.
I have not delved into Pyglet 1.1 Beta 2 R2129 codebase to see how the runtime
loop
is implemented nor the Sprite handling. I have followed along with small demo
programs in the guides/websites I have read and noticed all sorts of anomolies
with
some of the examples. One simply uses Pyglets new Frames Per Second label on
the
window. When I set 30Hz/30FPS for the loop limit, I noticed that Pyglet/FPS
indicator would deviate above and below the 30Hz limit in a noticable 'S'
curve/sinewave pattern as it tried to lock on / calibrate? itself to 30Hz.
I also noticed when wiggling the mouse rapidly over the Pyglet window that
these
deviations became smaller and it had an easier time locking onto the 30Hz
figure I
inputed into Pyglets timing loop. Maybe processing all those extra events
helped it
manage the deviations.
It is Beta still so thats ok, but I wouldn't have been happy if this was in
final
release as if it was my first time approaching pyglet I might get a bad taste
in my
mouth as a developer and pyglet needs all the good press it can get to help it
grow
and flourish.
Cheerio,
PN
Original comment by pythonnu...@gmail.com
on 17 Jul 2008 at 1:00
One last upload.
Pygame finally released binaries for the Mac OS X platform for the latest
release. Unfortunately it was a very
large installation. Also it requires PyObjC 1.4 (even though it says for OS X
10.4 on the pygame download
page) on OS X 10.5 Leopard (even though Apple ships PyObjC 2.0 with 10.5) which
adds another hefty 19MB
of installation requirements just to get a Pygame program running on Mac OS X.
Now we have a Pyglet only, a Pygame only, and a Pyglet+Rabbyt version of the
same program using the same
graphic files, sound file, and sprite animation techniques to compare the cpu
use, resource use, and
animation quality and sound quality on any Platform/OS we wish to test.
Results:
o Pyglet+Rabbyt the winner at 6% CPU and silky smooth animations
o Pyglet in the middle at 18% CPU use and a tiny bit of animation stuttering
o Pygame using the most CPU use at 61% and a tiny bit of animation stuttering
Well I am convinced on where I'm spending my next projects development API time
on.
Cheers,
PN
Original comment by pythonnu...@gmail.com
on 12 Aug 2008 at 6:33
Attachments:
I'm closing this bug since it is rather old and we need a clean list to follow
new issues. If you think this is still a problem, can you retest the problem
with a recent version and add the issue again? Better yet, can you write test
which illustrates it and/or a patch to fix it?
Original comment by winstonw...@gmail.com
on 22 Jun 2012 at 9:59
Original issue reported on code.google.com by
pythonnu...@gmail.com
on 30 Jun 2008 at 2:09