runner icon indicating copy to clipboard operation
runner copied to clipboard

Canvas or WebGL application very slow on runners

Open gromanas opened this issue 3 years ago โ€ข 3 comments

Describe the bug I am working for a software industry where we create canvas and WebGL games. We have created some functional tests for those games. We have tried using ubuntu, mac runners, and also have access to select a runner with better hardware specs, also we have self-hosted runners, but the issue still remains. On chrome browser, the games are very slow and even miss some animations that are happening. On chrome 99 and below the game is slow but is playable. On chrome 100 and above the game is very very slow. We have calculated that the FPS is approximately 2-10.

To Reproduce Steps to reproduce the behavior:

  1. A canvas/WebGL application should
  2. Try to play a game on chrome browser version higher than 100.0.0

Expected behavior The game should be played at an acceptable FPS rate (above 15).

Runner Version and Platform

ubuntu-latest, mac-latest, and also the self-hosted that are 4 cores and 16gb ram.

OS of the machine running the runner? Linux (ubuntu), macOS (mac)

gromanas avatar Oct 26 '22 09:10 gromanas

Hey @gromanas,

Thank you for reporting this issue. Can you please tell me, are you running your workflow in a container? Can you provide an example workflow, so we can reproduce this bug?

ruvceskistefan avatar Nov 02 '22 13:11 ruvceskistefan

Hello @ruvceskistefan,

Thank you very much. A sample of the workflow is:

name: Functional Tests

on:
  push:
    branches: [ main ]
    paths-ignore:
      - '**.md'
      - '.eslintignore'
      - '.eslintrc.json'
      - '.github/**'

  pull_request:
    types:
      - opened
      - edited
      - reopened
      - synchronize
    paths-ignore:
      - '**.md'
      - '.eslintignore'
      - '.eslintrc.json'

jobs:
  functional-test:
    if: ${{ !startsWith(github.event.pull_request.title, '[skip-ci]') }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        func_suite: [ suite1, suite2, suite3, suite4, suite5 ]

    steps:
      - name: ๐Ÿ›Ž๏ธ  Checkout
        uses: actions/checkout@v2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          persist-credentials: false

      - name: ๐Ÿชข  Install Tesseract OCR
        run: |
          sudo add-apt-repository -y ppa:alex-p/tesseract-ocr5
          sudo apt update
          sudo apt install -y tesseract-ocr
          tesseract -v

      - name: ๐Ÿงถ  NodeJS setup
        uses: actions/setup-node@v1
        with:
          node-version: "14.18.1"

      - name: ๐Ÿฆš Cache dependencies
        id: cache
        uses: pat-s/always-upload-cache@v3
        with:
          path: ./node_modules
          key: modules-${{ hashFiles('package-lock.json') }}

      - name: ๐Ÿ”ง  Install dependencies
        if: steps.cache.outputs.cache-hit != 'true'
        run: npm ci

      - name: ๐Ÿ—๏ธ  Start Game and Selenoid
        run: npm run infra:up

      - name: ๐Ÿบ  Verify Game is Running
        run: sh ./ci/scripts/wait-for-app-to-run.sh

      - name: ๐Ÿš€  Run Functional Tests
        run: npm run test:selenoid-func-web -- --suite ${{ matrix.func_suite }}

      - name: ๐ŸŒ‹  Upload Image Diffs
        if: always()
        uses: actions/[email protected]
        with:
          name: "image-diffs-${{ matrix.func_suite }}"
          path: .tmp
          retention-days: 5

      - name: ๐Ÿ”๏ธ  Upload Functional Test report
        if: always()
        uses: actions/[email protected]
        with:
          name: "func-tests-report-${{ matrix.func_suite }}"
          path: reports
          retention-days: 5

gromanas avatar Nov 02 '22 19:11 gromanas

@gromanas Thank you for providing example workflow, we will investigate your request and get back to you as soon as we have more information.

ruvceskistefan avatar Nov 07 '22 22:11 ruvceskistefan

This issue is stale because it has been open 365 days with no activity. Remove stale label or comment or this will be closed in 15 days.

github-actions[bot] avatar Dec 11 '23 00:12 github-actions[bot]