ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15.64k stars 809 forks source link

Multiball - game slows down with many animated objects #9185

Open Robert9157 opened 1 year ago

Robert9157 commented 1 year ago

Describe the bug

The game slows down when there are many animated objects, example: level 6. Multiball.zip

Expected behavior

The game plays normally without slowing down.

Affected platform

Online demo

Operating system

Linux

Browser

Brave 1.46.134 Chromium: 108.0.5359.94 (Official Build) (64-bit)

Additional information

Player Info

Allows script access: false Renderer: WebGL 2.0 Adapter Vendor: WebKit Adapter Renderer: WebKit WebGL Adapter Version: WebGL 2.0 (OpenGL ES 3.0 Chromium) Surface samples: 4 x Surface size: 1087 x 830

Page Info

Page URL: https://ruffle.rs/demo/

Browser Info

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Platform: Linux x86_64 Has touch support: false

Ruffle Info

Version: 0.1.0 Name: nightly 2023-01-15 Channel: nightly Built: 2023-01-15T00:17:22.206Z Commit: 31fc94f0ee1ae663aaa6a741c9f0c7d0a20fa3f1 Is extension: false

Metadata

width: 650 height: 570 frameRate: 60 numFrames: 4 swfVersion: 10 backgroundColor: #FFFFFF isActionScript3: true uncompressedLength: 629705

Robert9157 commented 1 year ago

The game softlocks if you spam the Play Again button on some levels (e.g. level 8, 11, 12)

ERROR core/src/avm2/events.rs:422 Error dispatching event EventObject(EventObject { type: "mouseDown", class: flash.events::MouseEvent, ptr: 0x181b290 }) to handler FunctionObject(FunctionObject { ptr: 0x11489e0 }) : RustError("Cannot access property ::parent of null or undefined")

Player Info

Allows script access: false Renderer: wgpu Adapter Backend: Gl Adapter Name: "ANGLE (NVIDIA Corporation, NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2, OpenGL 4.5.0)" Adapter Device Type: Other Adapter Driver Name: "" Adapter Driver Info: "" Enabled features: PUSH_CONSTANTS Available features: TEXTURE_COMPRESSION_BC | TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | CLEAR_TEXTURE | MULTIVIEW Current limits: Limits { max_texture_dimension_1d: 32768, max_texture_dimension_2d: 32768, max_texture_dimension_3d: 16384, max_texture_array_layers: 256, max_bind_groups: 4, max_bindings_per_bind_group: 640, max_dynamic_uniform_buffers_per_pipeline_layout: 8, max_dynamic_storage_buffers_per_pipeline_layout: 0, max_sampled_textures_per_shader_stage: 16, max_samplers_per_shader_stage: 16, max_storage_buffers_per_shader_stage: 0, max_storage_textures_per_shader_stage: 0, max_uniform_buffers_per_shader_stage: 11, max_uniform_buffer_binding_size: 16384, max_storage_buffer_binding_size: 0, max_vertex_buffers: 8, max_vertex_attributes: 16, max_vertex_buffer_array_stride: 255, max_push_constant_size: 96, min_uniform_buffer_offset_alignment: 256, min_storage_buffer_offset_alignment: 256, max_inter_stage_shader_components: 60, max_compute_workgroup_storage_size: 0, max_compute_invocations_per_workgroup: 0, max_compute_workgroup_size_x: 0, max_compute_workgroup_size_y: 0, max_compute_workgroup_size_z: 0, max_compute_workgroups_per_dimension: 0, max_buffer_size: 268435456 } Surface samples: 4 Surface size: Extent3d { width: 1087, height: 902, depth_or_array_layers: 1 }

Page Info

Page URL: https://ruffle.rs/demo/

Browser Info

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Platform: Linux x86_64 Has touch support: false

Ruffle Info

Version: 0.1.0 Name: nightly 2023-01-17 Channel: nightly Built: 2023-01-17T00:18:12.367Z Commit: 5878bb0c5d6372758eb50b31bb701497205893ad Is extension: false

Metadata

width: 650 height: 570 frameRate: 60 numFrames: 4 swfVersion: 10 backgroundColor: #FFFFFF isActionScript3: true uncompressedLength: 629705