From 8f2475e3373799a93fe4a2939db1925697d043ac Mon Sep 17 00:00:00 2001 From: Rebecca Williams Date: Mon, 10 Aug 2026 11:36:25 +0100 Subject: [PATCH 1/4] Document ways to improve display performance and update rates --- docs/source/running.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/source/running.rst b/docs/source/running.rst index 6adb19c3f6..b093739a9d 100644 --- a/docs/source/running.rst +++ b/docs/source/running.rst @@ -119,3 +119,16 @@ Follow-up invocations, for example:: phoebus.sh -server 4918 -resource "/path/to/some/file.pvs" will contact the already running instance and have it open the requested file. + + +Performance +----------- + +Phoebus displays are built on JavaFX, which will use hardware acceleration wherever possible. If your screens display PVs with high update rates but you notice that the displayed update rates are not keeping up, you may benefit from using the following environment and Java options:: + + export __GL_SYNC_TO_VBLANK=0 + export _JAVA_OPTIONS="-Dprism.vsync=false" + +These settings allow the display to update without waiting for the vblank, which is to say it is not synchronized with the monitor display rate and hence display updates can occur as fast as we need them to. + +Note: these environment variables will only make a difference when running on a dedicated GPU \ No newline at end of file From b62da9210274592a65761a6f1764875afcc8ce06 Mon Sep 17 00:00:00 2001 From: Rebecca Williams Date: Wed, 19 Aug 2026 18:12:20 +0100 Subject: [PATCH 2/4] Reword performance section in documentation --- docs/source/running.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/running.rst b/docs/source/running.rst index b093739a9d..3d593a7001 100644 --- a/docs/source/running.rst +++ b/docs/source/running.rst @@ -124,11 +124,11 @@ will contact the already running instance and have it open the requested file. Performance ----------- -Phoebus displays are built on JavaFX, which will use hardware acceleration wherever possible. If your screens display PVs with high update rates but you notice that the displayed update rates are not keeping up, you may benefit from using the following environment and Java options:: +Phoebus displays are built on JavaFX, which will use hardware acceleration wherever possible. If your screen contains PVs with high update rates and you notice that the display is not keeping up then you may benefit from using the following environment and Java options:: export __GL_SYNC_TO_VBLANK=0 export _JAVA_OPTIONS="-Dprism.vsync=false" -These settings allow the display to update without waiting for the vblank, which is to say it is not synchronized with the monitor display rate and hence display updates can occur as fast as we need them to. +These settings allow the display to update without waiting for the :abbr:`vblank (vertical blanking interval)` meaning that the monitor's refresh rate is ignored and display updates occur as fast as possible. -Note: these environment variables will only make a difference when running on a dedicated GPU \ No newline at end of file +Note: these options will only make a difference when running on a dedicated GPU. \ No newline at end of file From 47c236673a9920cbb6054770ce39a45922e98e1b Mon Sep 17 00:00:00 2001 From: Rebecca Williams Date: Wed, 19 Aug 2026 18:36:22 +0100 Subject: [PATCH 3/4] Fix lint errors in modified file --- docs/source/running.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/source/running.rst b/docs/source/running.rst index 3d593a7001..b7bef8aef0 100644 --- a/docs/source/running.rst +++ b/docs/source/running.rst @@ -9,17 +9,17 @@ From the command-line, invoke ``phoebus.sh -help``, which will look similar to this, but check your copy of CS-Studio/Phoebus for the complete list:: - _______ _______ _______ ______ _______ + _______ _______ _______ ______ _______ ( ____ )|\ /|( ___ )( ____ \( ___ \ |\ /|( ____ \ | ( )|| ) ( || ( ) || ( \/| ( ) )| ) ( || ( \/ - | (____)|| (___) || | | || (__ | (__/ / | | | || (_____ + | (____)|| (___) || | | || (__ | (__/ / | | | || (_____ | _____)| ___ || | | || __) | __ ( | | | |(_____ ) | ( | ( ) || | | || ( | ( \ \ | | | | ) | | ) | ) ( || (___) || (____/\| )___) )| (___) |/\____) | |/ |/ \|(_______)(_______/|/ \___/ (_______)\_______) - + Command-line arguments: - + -help - This text -splash - Show splash screen -nosplash - Suppress the splash screen @@ -74,12 +74,12 @@ be interpreted by the Linux shell, best enclose all resources in quotes. Open probe with a PV name:: - phoebus.sh -resource "pv://?sim://sine&app=probe" + phoebus.sh -resource "pv://?sim://sine&app=probe" Open PV Table with some PVs:: - phoebus.sh -resource "pv://?MyPV&AnotherPV&YetAnotherPV&app=pv_table" + phoebus.sh -resource "pv://?MyPV&AnotherPV&YetAnotherPV&app=pv_table" Note that all these examples use the internal name of the application feature, for example "pv_table", and not the name that is displayed the user interface, @@ -112,7 +112,7 @@ For this scenario, invoke ``phoebus.sh`` with the ``-server`` option, using a TCP port that you reserve for this use on that computer, for example:: phoebus.sh -server 4918 - + The first time you start phoebus this way, it will actually open the main window. Follow-up invocations, for example:: @@ -126,9 +126,9 @@ Performance Phoebus displays are built on JavaFX, which will use hardware acceleration wherever possible. If your screen contains PVs with high update rates and you notice that the display is not keeping up then you may benefit from using the following environment and Java options:: - export __GL_SYNC_TO_VBLANK=0 + export __GL_SYNC_TO_VBLANK=0 export _JAVA_OPTIONS="-Dprism.vsync=false" These settings allow the display to update without waiting for the :abbr:`vblank (vertical blanking interval)` meaning that the monitor's refresh rate is ignored and display updates occur as fast as possible. -Note: these options will only make a difference when running on a dedicated GPU. \ No newline at end of file +Note: these options will only make a difference when running on a dedicated GPU. From 9226ed3241211e75ff81169211e2ff26fbbe3066 Mon Sep 17 00:00:00 2001 From: Rebecca Williams Date: Wed, 19 Aug 2026 18:43:54 +0100 Subject: [PATCH 4/4] Clarify the OS that performance improvements have been tested on --- docs/source/running.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/running.rst b/docs/source/running.rst index b7bef8aef0..3439cc99ee 100644 --- a/docs/source/running.rst +++ b/docs/source/running.rst @@ -131,4 +131,4 @@ Phoebus displays are built on JavaFX, which will use hardware acceleration where These settings allow the display to update without waiting for the :abbr:`vblank (vertical blanking interval)` meaning that the monitor's refresh rate is ignored and display updates occur as fast as possible. -Note: these options will only make a difference when running on a dedicated GPU. +Note: these options will only make a difference when running on a dedicated GPU and have only been tested on Linux operating systems.