[cairo-bugs] [Bug 4774] New: Filling shapes a lot arger than window size make cairo crawl

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Oct 13 11:54:52 PDT 2005


Please do not reply to this email: if you want to comment on the bug, go to    
       
the URL shown below and enter yourcomments there.     
   
https://bugs.freedesktop.org/show_bug.cgi?id=4774          
     
           Summary: Filling shapes a lot arger than window size make cairo
                    crawl
           Product: cairo
           Version: 1.0.2
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: xlib backend
        AssignedTo: cworth at cworth.org
        ReportedBy: paniq at paniq.org
         QAContact: cairo-bugs at cairographics.org


When filling a circle of radius 2400 pixels in an 640x480 output window, drawing
that circle takes over a second, although only a pixelspace of 640x480 is being
filled.

Below is a python test case demonstrating this:

------------

#!/usr/bin/env python

import cairo
import gtk
from math import pi

from time import time

class MainWindow(gtk.Window):
	def __init__(self):
		gtk.Window.__init__(self)
		self.connect('destroy', lambda x: gtk.main_quit())
		self.set_default_size(640, 480)
		self.set_position(gtk.WIN_POS_CENTER)
		
		drawingarea = gtk.DrawingArea()
		self.add(drawingarea)
		drawingarea.connect('expose_event', self.expose)
		
		self.show_all()
		
	def expose(self, da, event):
		ctx = da.window.cairo_create()
		
		##################################
		# TEST CASE BEGIN
		##################################
		ctx.set_source_rgb(0, 0, 0)
		ctx.arc(240.0,240.0,4800.0,0,2*pi)
		ctx.fill()
		##################################
		# TEST CASE END
		##################################

def main():	
	mainwindow = MainWindow()
	gtk.main()

if __name__ == "__main__":
	main()          
     
     
--           
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email         
     
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.


More information about the cairo-bugs mailing list